关于mongodb的安装使用以及java编程

来源:互联网 发布:p2p网络借贷逾期率 编辑:程序博客网 时间:2024/05/21 06:23

什么是mongodb

mongodb是nosql中的一种,其 将数据存储为一个文档,数据结构由键值(key,value)对组成。MongoDB文档类似于JSON对象。字段值可以包含其他文档,数组及文档数组。
这里写图片描述

安装mongodb

我主要采用的是ubuntu系统,只需输入以下命令行,即可安装mongodb

sudo apt-get install mongodb

一开始装好系统会自动运行mongodb程序,在终端输入“mongo”,即可进入数据库
这里写图片描述

配置mongodb

apt-get命令很把mongo的服务器安装在:/usr/bin/mongod
在配置文件中,主要配置好mongodb的数据文件的保存路径,和日志文件的保存路径,具体的配置过程可以参考:http://www.cnblogs.com/1zhk/articles/4753135.html
注意的地方:
mongoDB的数据文件默认是需要3G多的空间,如果没有的话,就需要用smallfiles,具体使用命令:mongod –smallfiles
如果系统因没有正常关闭而导致下次开启异常的话,可以输入修复命令:mongod –repair

mongodb数据库的基本操作

关闭:sudo service mongodb stop
开启:sudo service mongodb start
连接数据库:mongo

mongodb的数据库与 sql数据库有一定的联系,例如sql的中table在mongodb中称为collection,sql的行数据(row)在mongodb中就称为文档(document)

数据库中的一系列命令:

show dbs(查看有多少数据库)use databasename(使用特定的数据库)show collections(查看集合)db.collectionname.find().pretty() (相当于select * from tablename,而查询条件写在find函数内)db.col.insert({title: 'MongoDB 教程',     description: 'MongoDB 是一个 Nosql 数据库',    by: '菜鸟教程',    url: 'http://www.runoob.com',    tags: ['mongodb', 'database', 'NoSQL'],    likes: 100})//插入document,mongodb不需要先建立table以及 table中的属性,可以直接插入文档,默认生成collection

远程连接

mongodb默认是允许所有外网访问,开通的端口是27017,如果对数据库设置用户权限,可以通过以下操作设置:
(1)修改mongodb的配置文件,vi etc/mongodb.conf
修改内容:
bind_ip = 0.0.0.0
port =27017
auth = true
(2)进入mongo,
db.addUser(‘user’, ‘pwd’)
db.auth(‘user’, ‘pwd’)
(3)连接命令

mongo 192.168.235.01/admin -u root -p quincy

java编程mongodb内容:

mongodb的jdbc的下载链接:https://pan.baidu.com/s/1cH1NQY
具体操作示范:

    public static void mongodb() throws UnknownHostException, MongoException{        //链接数据库        Mongo connection = new Mongo("127.0.0.1",27017); //url与端口        DB db = connection.getDB("admin");//数据库名字        boolean ok = db.authenticate("root", "quincy".toCharArray());  //认证过程,用户名(String)和密码(char[])        if(ok){            System.out.println("db connection success!");            //插入数据,mongodb的默认_id为主键,            //在默认的情况下会自己添加哈希值,建议自定义_id,不然很可能会插入很多重复            DBCollection collection = db.getCollection("account");             BasicDBObject document = new BasicDBObject();            document.put("_id", "quincy");            document.put("age",30);            document.put("createdDate", new Date());            collection.insert(document);            //更新数据            BasicDBObject query = new BasicDBObject();            query.put("name", "quincy");            BasicDBObject newDocument = new BasicDBObject();            newDocument.put("name", "zhang");            BasicDBObject updateObj = new BasicDBObject();            updateObj.put("$set", newDocument);            collection.update(query, updateObj);            //查询数据            BasicDBObject searchQuery = new BasicDBObject();            searchQuery.put("_id","quincy");            DBCursor cursor =  collection.find(searchQuery);            while(cursor.hasNext()){                System.out.println(cursor.next());            }        }        else{            System.out.println("connection error");        }    }
2 0
原创粉丝点击