MongoDB查询集合中的文档

MongoDB查询集合中的文档

参考资料:http://blog.csdn.net/qq_36040184/article/details/54355085

测试:

集合中插入数据

> db.chenji.insert({"name":"张三","年纪":"三年级","年龄":"14"})

WriteResult({ "nInserted" : 1 })

> db.chenji.insert({"name":"王三","年纪":"四年级","年龄":"16"})

WriteResult({ "nInserted" : 1 })

> db.chenji.insert({"name":"王七","年纪":"一年级","年龄":"8"})

WriteResult({ "nInserted" : 1 })

> db.chenji.insert({"name":"张巴","年纪":"一年级","年龄":"9"})

WriteResult({ "nInserted" : 1 })

> db.chenji.insert({"name":"谢娜","年纪":"七年级","年龄":"16"})

WriteResult({ "nInserted" : 1 })

> db.chenji.find()

{ "_id" : ObjectId("59990ec402730a37fe1ee79e"),"name" : "建伟", "年纪" : "二年级","年龄" : "12" }

{ "_id" :ObjectId("59987eee7cd6cda607043cd1"), "name" : "李旭","年纪" : "三年级", "年龄" : "13" }

{ "_id" :ObjectId("5998860a7cd6cda607043cd2"), "name" : "张三","年纪" : "三年级", "年龄" : "14" }

{ "_id" : ObjectId("599886227cd6cda607043cd3"),"name" : "王三", "年纪" : "四年级","年龄" : "16" }

{ "_id" :ObjectId("599886357cd6cda607043cd4"), "name" : "王七","年纪" : "一年级", "年龄" : "8" }

{ "_id" :ObjectId("599886537cd6cda607043cd5"), "name" : "张巴","年纪" : "一年级", "年龄" : "9" }

{ "_id" :ObjectId("5998866e7cd6cda607043cd6"), "name" : "谢娜","年纪" : "七年级", "年龄" : "16" }

3.1使用条件表达式(<, <=, >, >=,!=)

//大于: field > value

db.collection.find({field:{$gt:value}});

db.chenji.find({"年龄":{$gt:"6"}});

{ "_id" :ObjectId("599886357cd6cda607043cd4"), "name" : "王七","年纪" : "一年级", "年龄" : "8" }

{ "_id" :ObjectId("599886537cd6cda607043cd5"), "name" : "张巴","年纪" : "一年级", "年龄" : "9" }

//小于: field < value

db.collection.find({field:{$lt:value}});

> db.chenji.find({"年龄":{$lt:"16"}});

{ "_id" :ObjectId("59990ec402730a37fe1ee79e"), "name" : "建伟","年纪" : "二年级", "年龄" : "12" }

{ "_id" :ObjectId("59987eee7cd6cda607043cd1"), "name" : "李旭","年纪" : "三年级", "年龄" : "13" }

{ "_id" :ObjectId("5998860a7cd6cda607043cd2"), "name" : "张三","年纪" : "三年级", "年龄" : "14" }

//大于等于: field >=value

db.collection.find({field:{$gte:value}});

> db.chenji.find({"年龄":{$gte:"7"}});

{ "_id" :ObjectId("599886357cd6cda607043cd4"), "name" : "王七","年纪" : "一年级", "年龄" : "8" }

{ "_id" :ObjectId("599886537cd6cda607043cd5"), "name" : "张巴","年纪" : "一年级", "年龄" : "9" }

> db.chenji.find({"年龄":{$gte:"6"}});

{ "_id" :ObjectId("599886357cd6cda607043cd4"), "name" : "王七","年纪" : "一年级", "年龄" : "8" }

{ "_id" : ObjectId("599886537cd6cda607043cd5"),"name" : "张巴", "年纪" : "一年级","年龄" : "9" }

//小于等于: field <=value

db.collection.find({field:{$lte:value}});

> db.chenji.find({"年龄":{$lte:"13"}});

{ "_id" : ObjectId("59990ec402730a37fe1ee79e"),"name" : "建伟", "年纪" : "二年级","年龄" : "12" }

{ "_id" :ObjectId("59987eee7cd6cda607043cd1"), "name" : "李旭","年纪" : "三年级", "年龄" : "13" }

//不等于: field != value

db.collection.find({field:{$ne:value}});

db.chenji.find({"name":{$ne:"谢娜"}});

{ "_id" :ObjectId("59990ec402730a37fe1ee79e"), "name" : "建伟","年纪" : "二年级", "年龄" : "12" }

{ "_id" :ObjectId("59987eee7cd6cda607043cd1"), "name" : "李旭","年纪" : "三年级", "年龄" : "13" }

{ "_id" :ObjectId("5998860a7cd6cda607043cd2"), "name" : "张三","年纪" : "三年级", "年龄" : "14" }

{ "_id" :ObjectId("599886227cd6cda607043cd3"), "name" : "王三","年纪" : "四年级", "年龄" : "16" }

{ "_id" :ObjectId("599886357cd6cda607043cd4"), "name" : "王七","年纪" : "一年级", "年龄" : "8" }

{ "_id" :ObjectId("599886537cd6cda607043cd5"), "name" : "张巴","年纪" : "一年级", "年龄" : "9" }

db.chenji.find({"年纪":{$ne:"三年级"}});

{ "_id" :ObjectId("59990ec402730a37fe1ee79e"), "name" : "建伟","年纪" : "二年级", "年龄" : "12" }

{ "_id" :ObjectId("599886227cd6cda607043cd3"), "name" : "王三","年纪" : "四年级", "年龄" : "16" }

{ "_id" :ObjectId("599886357cd6cda607043cd4"), "name" : "王七","年纪" : "一年级", "年龄" : "8" }

{ "_id" :ObjectId("599886537cd6cda607043cd5"), "name" : "张巴","年纪" : "一年级", "年龄" : "9" }

{ "_id" :ObjectId("5998866e7cd6cda607043cd6"), "name" : "谢娜","年纪" : "七年级", "年龄" : "16" }

3.2统计(count)、排序(sort)、分页(skip、limit)

> db.chenji.count();

7

> db.chenji.find().count();

7

> db.chenji.find({"年龄":{$lt:"16"}})

{ "_id" :ObjectId("59990ec402730a37fe1ee79e"), "name" : "建伟","年纪" : "二年级", "年龄" : "12" }

{ "_id" :ObjectId("59987eee7cd6cda607043cd1"), "name" : "李旭","年纪" : "三年级", "年龄" : "13" }

{ "_id" :ObjectId("5998860a7cd6cda607043cd2"), "name" : "张三","年纪" : "三年级", "年龄" : "14" }

>

> db.chenji.find({"年龄":{$lt:"16"}}).count();

3

> db.chenji.find({"年纪":{$ne:"三年级"}});

{ "_id" :ObjectId("59990ec402730a37fe1ee79e"), "name" : "建伟","年纪" : "二年级", "年龄" : "12" }

{ "_id" :ObjectId("599886227cd6cda607043cd3"), "name" : "王三","年纪" : "四年级", "年龄" : "16" }

{ "_id" :ObjectId("599886357cd6cda607043cd4"), "name" : "王七","年纪" : "一年级", "年龄" : "8" }

{ "_id" :ObjectId("599886537cd6cda607043cd5"), "name" : "张巴","年纪" : "一年级", "年龄" : "9" }

{ "_id" :ObjectId("5998866e7cd6cda607043cd6"), "name" : "谢娜","年纪" : "七年级", "年龄" : "16" }

> db.chenji.find({"年纪":{$ne:"三年级"}}).count();

5

排序:默认是按照自身的id号来排序

> db.chenji.find().sort({"年龄":1});

{ "_id" :ObjectId("59990ec402730a37fe1ee79e"), "name" : "建伟","年纪" : "二年级", "年龄" : "12" }

{ "_id" :ObjectId("59987eee7cd6cda607043cd1"), "name" : "李旭","年纪" : "三年级", "年龄" : "13" }

{ "_id" :ObjectId("5998860a7cd6cda607043cd2"), "name" : "张三","年纪" : "三年级", "年龄" : "14" }

{ "_id" :ObjectId("599886227cd6cda607043cd3"), "name" : "王三","年纪" : "四年级", "年龄" : "16" }

{ "_id" : ObjectId("5998866e7cd6cda607043cd6"),"name" : "谢娜", "年纪" : "七年级","年龄" : "16" }

{ "_id" :ObjectId("599886357cd6cda607043cd4"), "name" : "王七","年纪" : "一年级", "年龄" : "8" }

{ "_id" :ObjectId("599886537cd6cda607043cd5"), "name" : "张巴","年纪" : "一年级", "年龄" : "9" }

忽略前两个id的记录,查看接着的三条记录

> db.chenji.find().skip(2).limit(3);

{ "_id" :ObjectId("5998860a7cd6cda607043cd2"), "name" : "张三","年纪" : "三年级", "年龄" : "14" }

{ "_id" :ObjectId("599886227cd6cda607043cd3"), "name" : "王三","年纪" : "四年级", "年龄" : "16" }

{ "_id" :ObjectId("599886357cd6cda607043cd4"), "name" : "王七","年纪" : "一年级", "年龄" : "8" }

> db.chenji.find().skip(2).limit(2);

{ "_id" :ObjectId("5998860a7cd6cda607043cd2"), "name" : "张三","年纪" : "三年级", "年龄" : "14" }

{ "_id" :ObjectId("599886227cd6cda607043cd3"), "name" : "王三","年纪" : "四年级", "年龄" : "16" }

按年龄倒序排序,并且查看第一行记录

> db.chenji.find().sort({"年龄":-1}).limit(1)

{ "_id" :ObjectId("599886537cd6cda607043cd5"), "name" : "张巴","年纪" : "一年级", "年龄" : "9" }

按年龄倒序排序,并且查看第二行记录

> db.chenji.find().sort({"年龄":-1}).limit(2)

{ "_id" : ObjectId("599886537cd6cda607043cd5"),"name" : "张巴", "年纪" : "一年级","年龄" : "9" }

{ "_id" :ObjectId("599886357cd6cda607043cd4"), "name" : "王七","年纪" : "一年级", "年龄" : "8" }

> db.chenji.find().sort({"年龄":-1}).skip(2).limit(2).count(1)

2

> db.chenji.find().sort({"年龄":-1}).skip(1).limit(3)

{ "_id" :ObjectId("599886357cd6cda607043cd4"), "name" : "王七","年纪" : "一年级", "年龄" : "8" }

{ "_id" :ObjectId("599886227cd6cda607043cd3"), "name" : "王三","年纪" : "四年级", "年龄" : "16" }

{ "_id" :ObjectId("5998866e7cd6cda607043cd6"), "name" : "谢娜","年纪" : "七年级", "年龄" : "16" }

3.3$or,相当于关系型数据库中的OR,表示或者的关系

查询name为张三或者年龄为16

> db.chenji.find({$or:[{name:"王三"},{"年龄":16}]})

{ "_id" :ObjectId("599886227cd6cda607043cd3"), "name" : "王三","年纪" : "四年级", "年龄" : "16" }

> db.chenji.find({$or:[{name:"王三"},{"年龄":12}]})

{ "_id" :ObjectId("599886227cd6cda607043cd3"), "name" : "王三","年纪" : "四年级", "年龄" : "16" }

3.4$nor,表示根据条件过滤掉某些数据

查询name不是张三或者年龄不是13

>db.chenji.find({$nor:[{name:"李旭"},{"年龄":13}]})

3.5$exists,用于查询集合中存在某个键的文档或不存在某个键的文档

查询customer集合中存在name键的所有文档

$exists:1表示真,指存在

$exists:0表示假,指不存在

时间: 2024-08-14 10:40:22

MongoDB查询集合中的文档的相关文章

Mongodb(2)创建数据库,删除数据库,创建集合,删除集合,显示文档内容

显示所有数据库列表:show dbs > show dbs local 0.078GB runoob 0.078GB > 显示当前数据库:db > db runoob > 显示所有集合:show collections  --显示当前数据库的所有集合 > show collections col_1 col_2 runoob system.indexes > 创建数据库:use DataBase_Name  --创建名字为DataBase_Name的数据库,并切换到创建

mongodb的基本操作与插入文档(document)

一.mongodb的基本操作: 1.查看mongodb当前所有的databases : show dbs 2.选择数据库(database) : use databaseName(该数据库不存在则会自动创建,但是只存在于mongodb预设的缓存中,如果你不做任何操作,关闭数据库,那么该数据库也就不存在了,如果你往该库中添加了数据,那么该库就被真正的创建了) 3.查看数据库中的集合(collection) : show collections 4.获取mongodb中的帮助 : db.help()

MongoDB入门教程一[文档与集合]

MongoDB 是面向集合存储的文档型数据库,其涉及到的基本概念与关系型数据库相比有所不同.举个例子,在关系型数据库中,我们记录一个订单的信息,通常是这样设计表结构的: 设计一个订单基本信息表和一个订单明细表,1个订单有N个订单明细,这些订单明细通过外键关联到订单主表,所以要存储一个订单的信息,需要“1+N”条记录.在MongoDB中将订单基本信息和该订单的所有订单明细信息通过嵌套的json格式组织起来,保存为1个文档.也就是说在关系型数据库中需要“1+N”条记录存储的数据,MongoDB保存为

在SharePoint 2013 中使用文档库Scheduling (计划发布功能)

本文讲述在SharePoint2013 中使用文档库Scheduling (计划发布功能)的步骤和注意的事项. 文档库Scheduling (计划发布功能) 用于设定当文档通过审批后特定的时间区间内才可以被普通用(非管理员,审批人员和作者)户看到.也就是说要启用Scheduling,必须先启用文档库的内容审批和小版本控制.这是官方文档的说法,但是笔者注意到除此之外Draft Item Security要设置成Only users who can approveitems (and the aut

在SharePoint 2013 中使用文档库Scheduling (计划公布功能)

本文讲述在SharePoint2013 中使用文档库Scheduling (计划公布功能)的步骤和注意的事项. 文档库Scheduling (计划公布功能) 用于设定当文档通过审批后特定的时间区间内才干够被普通用(非管理员,审批人员和作者)户看到.也就是说要启用Scheduling,必须先启用文档库的内容审批和小版本号控制.这是官方文档的说法,可是笔者注意到除此之外Draft Item Security要设置成Only users who can approveitems (and the au

Webtop中新建文档,无法选择Type和Format

安装好CS并部署完Webtop后,可以正常登录,但是新建文档的时候发现无法选择Type.检查后发现有位服务器是中文环境,那么在安装的时候默认打开的是中文字典,英文字典是关闭的,而webtop是以英文语言登录的,所在这里Type就无法显示.解决办法如下: ?将c:\documentum\dba\config\data_dictionary.ini 中的en屏蔽取消,并拷贝该文件到C:\Documentum\product\7.1\bin,?在C:\Documentum\product\6.0\bi

在sharepoint中利用文档库扩展新闻应用

在sharepoint中利用文档库扩展新闻应用 本人刚刚开始使用Sharepoint,理解尚浅,错误之处请各位指正.Sharepoint的发布类模板可以建立对外的新闻类应用,但是目前在使用上还有诸多限制,不是很方便.在前一段时间给用户实施时引起了用户的很大不满.为此,特意在文档库的基础上建立了一套新闻管理系统,这套新闻系统主要有新闻发布与编辑,新闻列表.新闻浏览.分类管理等组成,主要用web part方式实现,各种参数按需传入,可以按照需要,灵活配置,下面先从与文档库结合紧密的分类管理说起:1.

关于在IE浏览器中,文档模式为&quot;杂项&quot;即Quirks,position为absolute且页面有滚动条时设置right的问题

由于系统的html页面没有指定相应的DTD,即<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">或<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "ht

实现窗口中的文档自动向上滚动,方便阅读

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta ht