您的位置:首页 > 数据库 > Mongodb

用java实现对MongoDB的基本操作(增删改查)

2016-05-20 15:30 671 查看
准备工作:要想用java实现对MongoDB的增删改查,首先需要下载mongo的java驱动,mongo-java-driver-3.2.2,

下载地址:https://oss.sonatype.org/content/repositories/releases/org/mongodb/mongodb-driver/3.2.2/

导入jar包之后,就可以对MongoDB进行相应的操作了。

在进行基本操作之前,别忘了连接数据库哦

//连接mongo

MongoClient mc=new MongoClient("localhost",27017);

//连接指定数据库

DB db=new DB(mc,dbName);

//连接指定文档(mongo中叫文档,也就相当于Oracl中的表)

DBCollection collection=db.getCollection(tableName);

接下里我们进行增删改查的操作

首先,我们向A数据库中的area表中增加一条数据

//用来存储要添加的数据

DBObject content=new BasicDBObject();

content.put("name","北京");

content.put("type","首都");

collection.insert(content);

content可以看成是在组json,组成的格式是{"name":"北京","type":"首都"},自己可以打印输出看一下,这是为了实现mongo数据库的语法

mongo原语法: db.getCollection('area').insert({"name":"北京","type":"首都"});

这是我们就成功的向area表中添加了一条数据

接下来我们将这条数据查询出来

DBObject condition=new BasicDBObject();

content.put("name","北京");

//将area表中所有包含name为北京的全部查询出来

DBCursor cursor=collection.find(condition);

//将cursor中的元素全部输出

while(cursor.hasNext()){
System.out.print(cursor.next());
}

mongo原语法: db.getCollection('area').find({"name":"北京"});

这时候控制台会输出
{ "_id" : { "$oid" : "573ec80c38134d356cf1e54d"} , "name" : "北京" , "type" : "首都"}

这里的_id是mongo自动生成的,是唯一的

接下里我们将北京改为上海

这里我们需要用两个条件来进行操作,第一个用于定位要修改的数据,第二个用来修改数据

//用来定位要修改的数据

DBObject oldData=new BasicDBObject();

content.put("name","北京");

//新的数据

DBObject newData=new BasicDBObject();

content.put("name","上海");

//将新的数据加以操作符$set,

DBObject condition=new BasicDBObject();
content.put("$set",newData);
//进行数据更新

collection.update(oldData,condition);

mongo原语法: db.getCollection('area').update({"name":"北京"},{$set:{"type":"首都"}});

我们执行一下,然后再查询出来可以得到这样的结果

{ "_id" : { "$oid" : "573ec80c38134d356cf1e54d"} , "name" : "上海" , "type" : "首都"}
接下来删除这条数据

//删除条件

DBObject condition=new BasicDBObject();

content.put("name","上海");

//将删除area表中所有的包含name为上海的数据

collection.remove(condition);

mongo原语法:db.getCollection('area').remove({“name”:”上海“})

这是我们将查不到这条数据。说明删除成功

用驱动中的方法和mongo原语法对比,更容易理解驱动中的各个方法和变量的作用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mongodb 数据库 java