前面的博客讲了一些基本常用的操作,但实际上真正运用时还会遇见一些更高级的操作,特别是查询方面更是如此,总的来说mongodb很不错,但是对于java driver for mongodb,我不是很满意,代码写得有些乱,设计思路有些不清晰,文档也不完善,例子也非常的简单,因此试验起来很是恼火,都有放弃的想法,但最终还是坚持了下来,趁这几天对它还有点激情,赶快写博客,因为这激情不是天天都有的。下面就讲讲mongodb的高级查询。
高级查询主要讲两点,一是模糊查询,二是嵌套查询。
模糊查询主要涉及到一些系统函数,明白了就简单了。见下面例子:
....
DBObject in = new BasicDBObject("$in", new Object[]{20,22});
DBObject user = new BasicDBObject();
user.put("age", in);
......
上面的代码意思是说,查询年龄为20或22岁的人。&in表示包含的意思,与其它数据库函数类似。需要注意的是后面的new Object[],&in必须跟数组,但是不能是int,long等数组,这一点很不理解,这些搞Java驱动的人怎么想的,利用反射很容易判断的,唉,忍了!
知道怎么用以后,还需要知道的是系统到底还有哪些可用的函数,本来想一一列举的,但实在有点多,还是算了,更详细的资料可在官方上查看:
http://www.mongodb.org/display/DOCS/Advanced+Queries
下面再讲一下嵌套查询,这个,文档上没说,试了半天,没试出来,一直让自己很灰心,一个偶然的机会看见官方上关于嵌套查询的用法,得到了灵感,总算明白怎么用了,见下面代码:
....
DBObject query = new BasicDBObject();
query.put("user.name", "qiuqiu");
.......
上面代码的意思是查询对象中包括user对象,而且user对象的name必须等于qiuqiu。
虽然上面的两段代码很短,但的确是花了本人很些时间,来之不易,当然也可能是本人太愚钝了。
分享到:
相关推荐
MongoDB高级查询用法大全
MongoDB高级查询
MongoDB高级查询,许多有用的查询函数,相信大家会用得到的
mongod高级查询语句,Javascript查询和$where查询,正则表达式匹配
前端 Vue+Node+MongoDB高级全栈开发
使用聚合管道可以对集合中的文档进行变换和组合,常用于多表关联查询、数据的统计。 db.COLLECTION_NAME.aggregate() 方法用来构建和使用聚合管道,下图是官网给的实例,可以看出来聚合管道的用法还是比较简单的。 ...
Mongodb视频-燕十八 mongodb视频教程全集21讲+mongodb高级实战开发视频教程
MongoDB高级技术栈全覆盖 前端 Vue+Node+MongoDB高级全栈开发
MongoDB高级索引.pdf 学习资料 复习资料 教学资源
视频详细讲解,需要的小伙伴自行网盘下载,链接见附件,永久有效。 MongoDB是一个开源、高性能、无模式的文档型...高级进阶部分 章节一:索引 章节二:特殊集合 章节三:副本集 章节四:分片集群 章节五:安全认证
1.分篇章进行学习,内容控制30分钟内 2.1个月疗程,不要放弃治疗哦 3.图文并茂,有问题请发到邮箱
MongoDB高级应用场景及技术特点分析.pptx
前端Vue+Node+MongoDB高级全栈开发系列课程
一、MongoDB 聚合管道(Aggregation Pipeline) 二、MongoDB Aggregation 管道操作符与表达式 三、 数据模拟
第32集 Mongodb高级查询操作 34分钟 第33集 Mongodb高级更改操作 41分钟 第 10 章: Mongodb数据库(下) 第34集 Mongodb性能优化 44分钟 第35集 Mongodb数据库和架构管理 54分钟 第36集 Mongodb与php开发结合
本课程是一套关于MongoDB应用开发的实战性教程,名为《深入浅出MongoDB应用实战开发(基础、开发指南、系统管理、集群及系统架构)》,教程侧重于讲解MongoDB的常用特性及高级特性,从实际开发的角度出发对MongoDB...
13、MongoDB分片集群&高级集群架构详解_ev.rar13、MongoDB分片集群&高级集群架构详解_ev.rar13、MongoDB分片集群&高级集群架构详解_ev.rar13、MongoDB分片集群&高级集群架构详解_ev.rar13、MongoDB分片集群&高级集群...
mongod.exe --install --dbpath=d:\mongodb\data --logpath=d:\mongodb\log\log.log -auth -serviceName "serviceName" 2.卸载服务 mongod.exe --remove --serviceName "serviceName" 3.启动服务 ...
讲述了如何执行基本的写操作以及如何执行各种复杂的条件查询,还介绍了索引、聚合工具以及其他高级查询技术,另外对监控、安全性和身份验证、备份和修复、水平扩展MongoDB数据库等内容也有所涉及。《MongoDB权威指南...