url:http://jzkangta.iteye.com/blog/1018685
1.基本对象插入
BasicDBObject obj = new BasicDBObject();
obj.put("id", i);
collection.insert(obj);
2.按照指定字段排序
DBCursor cursor=collection.find().sort(new BasicDBObject("id",-1)); //排序 1为升序 -1为降序
3.分页
DBCursor cursor=collection.find().limit(10); //只取前十个
DBCursor cursor=collection.find().skip(10); //取前十个记录之后的
collection.find().count() ; //总记录数
4.范围查询
//select * from test_table where id>=10 and id<30 注:$gt=(>) $gte=(>=) $lt=(<) $lte=(<=) $ne=(!=)
DBCursor cursor = collection.find(new BasicDBObject("id",new BasicDBObject("$lt", 30).append("$gte", 10)));
5.集合查询
//select * form table where id in (1,12,23)
int [] strs = new int[3]; //其实也可以放在List里面
strs[0] = 1;strs[1] = 12;strs[2] = 23;
DBCursor cursor=collection.find(new BasicDBObject("id",new BasicDBObject("$in",strs)));
6.查询特定字段
DBObject query = new BasicDBObject();//要查的条件
query.put("uid", "name10");
DBObject field = new BasicDBObject();//要查的哪些字段
field.put("id", true);
field.put("fid", true);
field.put("ip", true);
DBCursor cursor=collection.find(query,field);
7.去掉重复查询
//select distinct("uid") from table
注意:distinct("uid")这个字段是什么类型,list.get(i)就是什么类型
List list=(List) collection.distinct("uid");
8.以下是用findAndModify方法更改数据
//UPDATE test_table SET ip = 111.111.111.333 WHERE uid=name59;
DBObject obj = new BasicDBObject();
obj.put("uid", "name59");
DBObject obj2 = new BasicDBObject();
obj2.put("ip", "111.111.111.333");
DBObject objOld = collection.findAndModify(obj, new BasicDBObject("$set",obj2));
//这里,findAndModify方法执行后,返回的DBObject内容还是旧的内容,但是数据库里的记录已经改为了新的记录
System.out.println("objOld==="+objOld);
9.以下是用update方法更改数据 注:findOne是返回满足条件的第一个记录
//UPDATE test_table SET ip = 100.100.100.333 WHERE uid=name59;
DBObject obj = new BasicDBObject();
obj.put("uid", "name59");
DBObject obj2 = collection.findOne(obj);
obj2.put("ip", "100.100.100.333");
collection.update(obj, obj2);
System.out.println("==="+collection.findOne(obj));
10.删除数据
DBObject obj = new BasicDBObject();
obj.put("uid", "name59");
collection.remove(obj);
★★★★★★★★★★★★★★★★★http://yangchunhe.iteye.com/blog/1312255★★★★★★★★★★★★★★★★★★★★★
1. 值范围查询,类似 mysql 下的 between 或者 >,< 比较操作
日期为例: (不知道mongodb的日期是什么类型呢?真的能这样做?还是我想多了呢?)
dbo.put("date",new BasicDBObject("$gte",startDate).append("$lte", endDate));
2. 模糊查询,类似于 mysql 下的 like
如下: content 为要查询的内容
String content = "aa";
Pattern pattern = Pattern.compile("^.*" + content+ ".*$", Pattern.CASE_INSENSITIVE); (★java的正则还能用到mongo上。。汗啊)
BasicDBObject dbo = new BasicDBObject();
dbo.put("content", pattern);
DBCursor cursor=collection.find(dbo);
3.普通更新字段,查找 id 为 1 的用户更新他的 userName 字段:
BasicDBObject upBdb=new BasicDBObject("$set" ,new BasicDBObject("username"," 新名字 "));
collection.update(new BasicDBObject().append("_id",1),upBdb,false,false);
4.整形字段自增 , 例如要是 commentsNums 字段自增 1 :
BasicDBObject upBdb=new BasicDBObject("$inc",new BasicDBObject("commentsNums", 1);// 加一操作
newColl.update(new BasicDBObject().append("_id",1),upBdb,false,false);
5查询数量:
条件 bdb =new BasicDBObject(“userId”,1);
newColl.find(bdb).count() ;
相关推荐
运用MongoDB的复制集(Replica Sets)+分片(Sharding)就能实现MongoDB分布式高可用的集群。
mongoDB笔记整理
windows下mongodb安装与使用整理
MongoDB知识点整理
自己整理了Mongodb集群搭建的几种方式,按照步骤能够一步步实现~
自己整理的MongoDB相关的基础内容,主要涉及到数据库操作、集合操作、索引、聚合等内容
这个是最近学习MongoDB,整理出来的一下关于MongoDB简单的使用命令
MongoDB数据库学习整理资料,里面从数据库的安装和配置,以及配置创建数据数据,查询,修改,删除等。
老二牛车收集整理电子书 MongoDB权威指南中文版最全版本.pdf
10天掌握MongoDB(2012翻新完整版),网上牛人整理的,我添加了书签,入门必备。
MongoDB3.2.4版本,已整理文件目录,添加服务配置信息
Matlab连接MongoDB详细操作指引,网上资料不多,特此整理,不含Mablab及MongoDB安装过程。
早年整理的mongodb的文档,有兴趣可以看一下,最好去看官网
整理完善的资料,详细介绍mongodb的安装和使用,欢迎大家下载
包内含:mongodb支持包、管理工具、相关文档。 文档由我个人整理及撰写,包括mongodb简述、java操作、shell操作、配置文件说明等。
收集整理的mongodb学习资料,与大家分享。 包括: MongoDB 概念理解.pdf MongoDB_使用手册-中文版.pdf MongoDB使用手册.pdf Mongodb文档 与 php操作.pdf MongoDB应用.pdf =========================================...
mongodb快速上手手册 译读《MongoDB: The Definitive Guide》,而后便整理了本系列PPT
spring-boot操作mongodb例子,亲测可以用,代码整理的比较好
使用scrapy,redis,mongodb实现的一个分布式网络爬虫[整理].pdf
最近工作中用到MongoDB,在安装过程中走了很多弯路,整理了详细的安装说明分享给大家。 安装说明内容:MongoDB下载地址、安装MongoDB过程,配置相关文件,配置系统命令启动和开机启动。 如果有疑问请加入QQ群:...