准备工作:要想用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原语法对比,更容易理解驱动中的各个方法和变量的作用。