前面的博客讲了一些基本常用的操作,但实际上真正运用时还会遇见一些更高级的操作,特别是查询方面更是如此,总的来说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 作为一个 NoSQL 数据库,提供了多种高级查询方式,以下是 MongoDB 高级查询用法大全: 一、比较运算符 在 MongoDB 中,比较运算符用于比较字段的值,常用的比较运算符有: * $...
### MongoDB高级查询知识点详解 #### 一、基本概念回顾 MongoDB 是一款非常流行的文档型数据库,它使用 JSON 格式的文档存储数据。对于开发者来说,掌握 MongoDB 的查询技巧至关重要,尤其是在处理复杂查询需求时。...
在MongoDB中,查询是获取数据的核心操作,而高级查询则是实现复杂数据筛选的关键。以下将详细介绍文档中提到的一些高级查询方法: 1. **比较操作符**: - `$gt`(大于): 查询`field`值大于`value`的文档。 - `$...
mongod高级查询语句,Javascript查询和$where查询,正则表达式匹配
在本篇内容中,我们将深入探讨“前端 Vue+Node+MongoDB 高级全栈开发”的核心知识点。通过本文的学习,您将能够更好地理解如何利用这些技术构建高效、灵活且可扩展的应用程序。 ### 一、Vue.js简介 **Vue.js** 是...
使用聚合管道可以对集合中的文档进行变换和组合,常用于多表关联查询、数据的统计。 db.COLLECTION_NAME.aggregate() 方法用来构建和使用聚合管道,下图是官网给的实例,可以看出来聚合管道的用法还是比较简单的。 ...
以上仅是 MongoDB 查询的一些基本操作,实际上,MongoDB 提供了更多高级查询功能,如聚合框架、正则表达式匹配、地理空间查询等。学习并熟练掌握这些查询技巧,对于有效管理和分析 MongoDB 数据库中的数据至关重要。
### MongoDB查询详解 #### 一、引言 在NoSQL数据库的世界里,MongoDB因其灵活的数据模型、高性能和可扩展性...在未来的学习和实践中,我们还可以进一步探索其他高级查询特性,如聚合框架等,以应对更复杂的业务需求。
#### 第二部分:MongoDB高级实战开发 **第8讲:高级查询** - 正则表达式匹配、文本搜索等高级查询技巧。 - `$lookup`操作符实现多集合联合查询的方法。 - 使用聚合框架进行复杂查询示例。 **第9讲:性能调优** - ...
MongoDB高级技术栈全覆盖 前端 Vue+Node+MongoDB高级全栈开发
MongoDB的`aggregate`函数是用于处理数据集合的高级工具,尤其在数据分析、报表生成以及数据清洗方面表现强大。在本场景中,我们将探讨如何利用`aggregate`来查询和处理重复数据记录。 首先,理解`aggregate`的基本...
MongoDB高级应用场景及技术特点分析 MongoDB作为NoSQL数据库管理系统,具有许多高级应用场景和技术特点。本文将从 MongoDB 技术特点及典型应用场景分析、Document Model 最佳的数据管理方式、Distributed System ...
#### 五、MongoDB高级查询 **5.1 条件操作符** - **$all匹配所有**: ```javascript db.collection.find({ key: { $all: ["value1", "value2"] } }) ``` - **$exists判断字段是否存在**: ```javascript db....
以上是MongoDB查询语法的一些核心点,实际应用中还有更多高级特性和复杂查询技巧。了解并熟练运用这些工具,可以极大地提高MongoDB数据管理的效率和精度。通过实践和阅读`query数据语法.txt`中的实例,可以更深入地...
头歌6.5MongoDB 文档的高级查询操作
本文将深入探讨如何在 MongoDB 中为数组字段和子文档字段创建高级索引,以优化查询性能。 首先,让我们了解一下在数组字段上创建索引的方法。在上述示例中,`tags` 字段是一个数组,包含字符串如 "music", "cricket...
视频详细讲解,需要的小伙伴自行网盘下载,链接见附件,永久有效。 MongoDB是一个开源、高性能、无模式的文档型...高级进阶部分 章节一:索引 章节二:特殊集合 章节三:副本集 章节四:分片集群 章节五:安全认证