`
shibin_1109
  • 浏览: 79458 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

mongodb条件查询

阅读更多
"$lt"-----------------------"<"
"$lte"----------------------"<="
"$gt"-----------------------">"
"$gte"----------------------">="
"$ne"-----------------------"!="


示例:{"x":{"$gt":10,"$lte":30}}

从某集合B中查找日期属性day值大于2012/01/01的文档数据,写法如下:
{"day":{"$gt":new Date("2012/01/01")}}

$in:查询匹配指定条件值的文档;
$nin:查询不匹配指定条件值的文档;

示例:{"x":{"$in":['值1','值2',.....]}}
示例:{"x":{"$nin":['值1','值2',.....]}}

$or:查询匹配多个条件多个值的文档;

示例:{"$or":[{"x":{"$in":['值1','值2'...]}},{"y":"3"}]}

$all匹配所有
示例:{"age":{"$all":[2,3]}})
结果:{"name":jack,"age":[1,2,3]}

$exists 判断文档属性是否存在
示例:{"name":{"$exists":true}}   --查找属性name存在的文档
     {"name":{"$exists":false}}  --查找属性name不存在的文档

$not元条件句

可与其他条件配合使用,即不在匹配范围之内的文档

$mod取模运算
{"age":{"$mod":[5,1]}} --表示查找年龄/5余1的所有文档

{"age":{"$not":{"$mod":[5,1]}}} --查找年龄/5余1之外的所有文档

$size 保留一个数组中的长度
{ "_id" : ObjectId("501e71557d4bd700257d8a41"), "a" : "1", "b" : [ 1, 2, 3 ] }
> db.C.find({"b":{"$size":2}})
{ "_id" : ObjectId("501e71607d4bd700257d8a42"), "a" : "1", "b" : [ 1, 2 ] }

$slice
返回数组的一个子集,即对以某属性为基础,返回多少条(范围)。也可以接受偏移值和要返回的元素数量,来返回中间的结果。
> db.C.find()
{ "_id" : ObjectId("501e71557d4bd700257d8a41"), "a" : "1", "b" : [ 1, 2, 3 ] }
{ "_id" : ObjectId("501e71607d4bd700257d8a42"), "a" : "1", "b" : [ 1, 2 ] }
> db.C.findOne({},{"b":{"$slice":[2,3]}})
{ "_id" : ObjectId("501e71557d4bd700257d8a41"), "a" : "1", "b" : [ 3 ] }
> db.C.findOne({},{"b":{"$slice":-2}})
{
        "_id" : ObjectId("501e71557d4bd700257d8a41"),
        "a" : "1",
        "b" : [
                2,
                3
        ]
}

db.test.find({name:/^joe/i})   ^匹配以joe开头的,而且不区分大小写
{ name : /陈.*/i }
$where

即可执行任务javascript作为查询的一部分。
$where的值可以是function、也可以是字符串等等。

db.C.find({"$where":function(){return this.a == "1"}})与db.C.find({"$where":"this.a == '1'"}})

db.C.find().limit(10)  --限制查询的结果条数为10条
db.C.find().skip(10)   --忽略匹配的前10条,显示从第11条匹配的文档开始所有的文档
db.C.find().sort({"a":-1})  --sort以键/值,表示按某个属性进行排序,1:升序,-1:降序


spirng-data-mongodb模糊查询
(new Query(new Criteria(      "name").regex(".*?"+"张"+".*")).limit(9), User.class); 

高级查询选项:
$maxscan:integer  --指定查询最多扫描的文档数量
$min:document     --查询的开始条件
$max:document     --查询的结束条件
$hint:document    --指定服务器使用哪个索引进行查询
$explain:boolean  --获取查询执行的细节(用到的索引、结果数量、耗时等),而并非真正执行查询
$snapshot:boolean --确保查询的结果是在查询执行那一刻的一致快照
分享到:
评论

相关推荐

    Thinkphp使用mongodb数据库实现多条件查询方法

    在Thinkphp中使用MongoDB进行多条件查询时,需要对框架提供的驱动进行一定的修改以适应MongoDB的查询方式。 在Thinkphp中实现多条件查询时,可以使用框架提供的查询构建器(Query Builder),但是当涉及到MongoDB的...

    mongoDB-查询语法

    在 MongoDB 中,条件查询可以使用查询对象来指定条件。例如,`db.users.find({ username: "zel" })` 将查找 `username` 字段为 "zel" 的所有记录。 查询操作符 MongoDB 提供了多种查询操作符,例如: * `$gt`:...

    MongoDB基本查询.pdf

    MongoDB 提供了一系列的比较运算符来构造复杂的查询条件。这些运算符包括: - `$gt`: 表示大于,用于查询值大于指定值的文档。例如,`{age: {$gt: 18}}` 会找到所有年龄大于18的文档。 - `$lt`: 表示小于,用于查询...

    MongoDB之查询详解

    本文将详细介绍MongoDB中的查询功能,包括基本的查询方法、使用`find`与`findOne`函数进行查询、以及如何利用`$条件查询`实现更加复杂的查询需求。 #### 二、MongoDB查询概述 MongoDB提供了多种查询文档的方法,...

    MongoDB命令查询.txt

    - **按条件查询第一个文档**: ```javascript db.users.findOne({"name": "John Doe"}) ``` 此命令将返回名字为“John Doe”的第一个文档。 - **指定返回字段**: ```javascript db.users.findOne({"name...

    MongoDB查询练习题及答案

    MongoDB 是一种流行的 NoSQL 数据库,以文档型数据存储为主,支持丰富的查询表达能力。在本题中,我们将探讨 MongoDB 的查询操作,基于提供的 `user1` 和 `user2` 文档进行练习。 首先,让我们熟悉一下 `db.users....

    MongoDB高级查询

    本文将深入探讨 MongoDB 中一些高级查询技术,包括但不限于条件查询操作符以及更复杂的查询模式。 #### 二、条件查询操作符详解 MongoDB 提供了一系列条件查询操作符,可以帮助开发者根据具体需求进行精确查询。...

    .Net Core如何对MongoDB执行多条件查询

    关于.Net Core如何对MongoDB执行多条件查询的知识点,以下将详细介绍。 首先,MongoDB是一个NoSQL数据库,它支持高性能、高可用性和易扩展的特性。.Net Core是微软的一个开源的、跨平台的.NET实现,它支持多种操作...

    使用aggregate在MongoDB中查询重复数据记录的方法

    但请注意,这种方法可能效率较低,且在高并发环境下可能存在竞态条件。因此,最佳实践是通过业务逻辑避免数据重复的插入,以及设计合理的数据模型和索引来防止数据冗余。 总的来说,MongoDB的`aggregate`功能提供了...

    浅谈java实现mongoDB的多条件查询

    "Java实现MongoDB多条件查询" MongoDB是一种非常流行的NoSQL数据库,Java是目前最流行的编程语言之一。因此,了解如何使用Java实现MongoDB的多条件查询非常重要。本文将详细介绍如何使用Java实现MongoDB的多条件...

    MongoDB多条件模糊查询示例代码

    MongoDB 是一个流行的开源...无论是在简单的单条件查询还是复杂的多条件模糊查询场景下,都可以利用这些关键字和方法来满足不同的需求。在实际应用中,可以根据业务逻辑灵活组合这些查询操作,以实现高效的数据库交互。

    C#,asp.net操作mongodb实例,新增,修改,查询,分页查询,删除,基类封装,打开直接运行

    条件查找:MongoDB支持丰富的查询表达式,包括逻辑运算符(AND、OR)、比较运算符($eq、$gt等)和正则表达式等。这使得我们可以构建复杂的查询条件来检索数据。 此外,为了提高代码的可重用性和可维护性,通常会将...

    mongodb 查询语法和实例

    MongoDB的基本查询使用`find()`方法,它可以接受一个JSON格式的对象作为参数,该对象定义了要匹配的文档条件。例如,找到所有`age`字段大于20的文档: ```javascript db.collection.find({ age: { $gt: 20 } }); ...

    MongoDB导出查询结果到文件例子

    本篇文章将深入探讨如何在MongoDB中将查询结果导出到文件,并提供一个具体的示例代码。 首先,我们要了解MongoDB提供的命令行工具,`mongo` shell,它是与MongoDB数据库交互的交互式JavaScript环境。在这个环境中,...

    生成mongodb日期范围查询条件

    生成mongodb日期范围查询条件

    Mongodb基本查询语句.docx

    比较条件查询 find 命令还可以使用比较条件进行查询,例如 `db.law_alarm_log.find({"lawAlarmState": {"$gt":1}})`,这将查询 law_alarm_log 表中 lawAlarmState 字段大于 1 的数据。 排序 find 命令还可以使用 ...

    Java操作mongodb的模糊查询和精确查询

    在 MongoDB 中,我们可以使用多种方式来实现查询操作,包括精确查询、模糊查询、分页查询、排序查询和条件查询等。在实际开发中,我们需要根据具体情况选择合适的查询方式来实现查询操作。 Java 操作 MongoDB 的...

    MongoDB高级查询.doc

    - `$or`:组合多个查询条件,返回满足任一条件的文档。 除了这些,MongoDB还提供了其他高级查询特性,如聚合框架(Aggregation Framework)用于复杂的分析操作,地理空间查询(Geospatial Queries)用于地理位置...

    mongodb查询性能.rar

    尽可能使用索引来减少数据扫描量,确保查询条件出现在索引中。 2. **聚合框架**:MongoDB的聚合框架提供了对数据进行处理和分析的能力,它支持管道操作,可以在服务器端进行复杂的数据转换。合理利用聚合框架可以...

Global site tag (gtag.js) - Google Analytics