用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原语法对比,更容易理解驱动中的各个方法和变量的作用。
下载地址: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原语法对比,更容易理解驱动中的各个方法和变量的作用。
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- 分享微信开发Html5轻游戏中的几个坑
- Android IPC进程间通讯机制
- Android之获取手机上的图片和视频缩略图thumbnails
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- 如何在 Fedora 上安装 MongoDB 服务器
- PropertyChangeListener简单理解
- PHP添加yaf xhprof mongodb 同理
- mongodb安装
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器