JAVA对MongoDB的操作

上传人:宝路 文档编号:20923387 上传时间:2017-11-22 格式:DOC 页数:6 大小:41.85KB
返回 下载 相关 举报
JAVA对MongoDB的操作_第1页
第1页 / 共6页
JAVA对MongoDB的操作_第2页
第2页 / 共6页
JAVA对MongoDB的操作_第3页
第3页 / 共6页
JAVA对MongoDB的操作_第4页
第4页 / 共6页
JAVA对MongoDB的操作_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《JAVA对MongoDB的操作》由会员分享,可在线阅读,更多相关《JAVA对MongoDB的操作(6页珍藏版)》请在金锄头文库上搜索。

1、java 对 mongodb 的操作1.1Java连接 mongodb数据库1.1.1 连单台 mongodb Mongo mg = newMongo();/默认连本机 127.0.0.1 端口为 27017Mongo mg = newMongo(ip);/可以指定 ip 端口默认为 27017Mongo mg = newMongo(ip,port);/也可以指定 ip及端口号1.1.2 连双台 mongodb /ip为主机 ip地址,port 为端口号,dataBaseName 相当于数据库名DBAddress left = new DBAddress(ip:port/dataBaseNam

2、e);DBAddress right = new DBAddress(ip:port/dataBaseName);/若一个 mongodb出现问题,会自动连另外一台Mongo mongo = new Mongo(left, right);1.1.3 连多台 mongodb List mongoHostList = newArrayList();mongoHostList.add(newServerAddress(ip,port);mongoHostList.add(newServerAddress(ip,port);mongoHostList.add(newServerAddress(ip,p

3、ort);Mongo mg = newMongo(mongoHostList);2.1获取 mongodb的 dbdataBaseName相当于关系数据库里的数据库名,mongodb 中若没有该数据库名也不会报错,默认 mongodb会建立这个数据库名,为空。DB db = mg.getDB(dataBaseName); /注意:mongodb 区分大小写,程序中一定要注意2.2mongodb的 db安全认证若这个时候要想访问 db中的 collection(相当于关系数据库里的表),就必须通过安全认证才可以访问,否则后台会报您没有通过安全认证。 /安全认证 java代码 返回 true表示通

4、过,false 表示没通过不能进行操作boolean auth =db.authenticate(userName, password.toCharArray();3.1得到 mongodb中的 db的 collectionDBCollection users = db.getCollection(tableName);参数 tableName相当于关系数据库里的表名,若 mongodb中没有该tableName,默认会创建该 tableName,为空 3.2mongodb中的 db的 collection自增长主键 Mongodb中也像传统的关系数据库里表一样,有主键(_id)概念,用来唯一

5、标识他们。当用户往 collection中插入一条新记录的时候,如果没有指定_id 属性,那么 mongodb会自动生成一个 ObjectId类型的值,保存为_id 的值。 3.3java对 collection进行插入操作 3.3.1第一种插入方式DBObject data1 = newBasicDBObject();data1.put(cust_Id, 123456);data1.put(is_Show, 1);data1.put(start_time, newDate();users.insert(data1);/等同于 users.save(data1); 3.3.2 第二中插入方式B

6、asicDBObjectBuilderdata1 =BasicDBObjectBuilder.start().add(.).add(.); users.insert(data1.get();/等同于 users.save(data1.get(); 3.3.3 第三种插入方式Map data1 = new HashMap();data1.put(.); users.insert(new BasicDBObject(data1);/等同于users.save(new BasicDBObject(data1);3.3.4 第四中插入方式String json = database: mkyongDB

7、,table : hosting, + detail : records : 99, index : vps_index1, active :true;DBObject data1 = (DBObject)JSON.parse(json);users.insert(data1);/等同于 users.save(data1); 3.4java对 collection的查询操作=DBObject fields = new BasicDBObject();fields.put(_id, false);fields.put(tag, true);fields.put(tv_sec, true);DBC

8、ursor cur = users.find(query, fields);可以用来过滤不需要获取的字段, 减少 IO=3.4.1 查询所有的数据 find() DBCursor cur = users.find(); while(cur.hasNext(). 3.4.2 查询 id 大于等于 1 的记录,并且只取 10 条记录DBCursor cur = users.find(newBasicDBObject(_id,newBasicDBObject($gte,1).limit(10);3.4.3 查询 id 大于等于 1 的记录,并按 id 进行降序-1 表示降序,1 升序。DBCurso

9、r cur = users.find(new BasicDBObject(_id,newBasicDBObject($gte,1).sort(newBasicDBObject(_id,-1); 3.4.4 查询 id 大于等于 1 的记录,并跳过前 10 条记录显示相当于 id10DBCursor cur = users.find(newBasicDBObject(_id,newBasicDBObject($gte,1).skip(10); 3.4.5 查询 id 大于等于 1 的记录,跳过前 10 条记录并且只显示 10 条记录。相当/于分页功能 where id10 and id=1的数据

10、users.remove(newBasicDBObject(_id,new BasicDBObject($gte,1).getN();/移除整个 collection,drop 也不释放磁盘空间users.drop();mongodb 小计 (查询和导出) $in $gt $lt 分类: 数据库开发技术mongodb 查询集合之内 db.roothomesCol.find(ID:$in:48493297,48701795);mongodb 查询大小之间 db.roothomesCol.find(ID:$gt : 48493297, $lt : 48701795);mongo IN 关键字,在集

11、合里面索引限定范围roothomes $ /mongo/mongodb-2.0.2/bin/mongoexport -host 127.0.0.1 -port 30000 -db roothomesDB -c roothomesCol -query ID:$in:48493297,48701795 -fields _id,AB,AC -csv roothomes.csvmongodb $gt $lt 关键字,在集合里面索引限定范围roothomes $ /mongo/mongodb-2.0.2/bin/mongoexport -host 127.0.0.1 -port 30000 -db roothomesDB -c roothomesCol -query ID:$gt : 48420000, $lt : 48430000 -fields _id,AB,AC -csv roothomes.csv

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号