mongodb中几种不同查询方法

mongodb中几种不同查询方法

ID:14307111

大小:407.00 KB

页数:9页

时间:2018-07-27

mongodb中几种不同查询方法_第1页
mongodb中几种不同查询方法_第2页
mongodb中几种不同查询方法_第3页
mongodb中几种不同查询方法_第4页
mongodb中几种不同查询方法_第5页
资源描述:

《mongodb中几种不同查询方法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、浅谈MongoDB中几种不同查询方法1.findMongoDB使用find来进行查询.查询就是返回一个集合中文档的子集,子集合的范围从0个文档到整个集合.find的第一个参数决定了要返回哪些文档.其形式也是一个文档,说明要查询的细节.空的查询文档{}会匹配集合的全部内容.要是不指定查询文档,默认是{}.如:db.users.find()返回集合users中的所有内容.向查询文档中添加键值对,就意味着添加了查询条件.对绝大多数类型来说,整数匹配整数,布尔类型匹配布尔类型,字符串匹配字符串.2.指定返回的键有时并不需

2、要返回文档中的所有键值对返回.可以通过find或findOne的第二个参数来指定要返回的键.这样做能节省传输的数据量,又能节省客户端解码文档的时间和内存消耗.1db.users.findOne({"name":"refactor"},{"age":1,"sex":1})只会将键为_id,age,sex的数据返回."_id"键总是会被返回.也可以用第二个参数来剔除查询结果中的某个键值对.如:键name不会显示在返回的结果中1db.users.findOne({"name":"refactor"},{"name":0

3、})只会将键为age,sex的数据返回."_id"键是不会返回的2db.users.findOne({"name":"refactor"},{"age":1,"sex":1,"_id":0})3.查询条件"$lt","$lte","$gt","$gte"分别对应<,<=,>,>=如:查询age>=18<=30db.users.find({"age":{"$gte":18,"$lte":30}})向文档增加键birthday3db.users.update(4{"name":"refactor"},5{6"$set

4、":7{8"birthday":newDate("1989/10/26")9}10}11)查询birthday日期是1990-1-1之前的人1db.users.find({"birthday":{"$lt":newDate("1990/01/01")}})使用"$ne"查出所有name不等refactor1的文档,注意文档中不存在键name的文档也会被查出来2db.users.find({"name":{"$ne":"refactor1"}})使用or查询MongoDB可以使用"$in","$or"使用"$in"

5、查询出pageViews为10000,20000的数据3db.users.find({pageViews:{"$in":[10000,20000]}})"$in"可以指定不同类型的条件和值,如正在将用户的ID号迁移成用户名的过程中,要做到两者兼顾的查询:4db.users.find({"user_id":{"$in":[12345,"refactor"]}})这会匹配user_id为12345和"refactor"的文档.要是"$in"的数组只有一个值和直接匹配这个值效果是一样的.5db.users.find({

6、"pageViews":{"$in":[10000]}})6db.users.find({"pageViews":10000})使用"$nin"返回与数组中所有条件都不匹配的文档如查出所有pageViews不等10000,20000的文档,注意文档中不存在键pageViews的文档也会被查出来1db.users.find({"pageViews":{"$nin":[10000,20000]}})"$in"能对单个键进行or查询.使用"$or"2db.users.find(3{4"$or":5[6{"pageVie

7、ws":{"$in":[10000,20000]}},7{"url":"http://www.cnblogs.com/refactor"}8]9}10)这将查询出pageViews是10000,20000或url是http://www.cnblogs.com/refactor的文档.注意:使用普通的and查询时,要尽量将最苛刻的条件放在前面.使用"$not""$not"可以用在任何条件之上.如:11db.users.find(12{"id_num":{"mod":[5,1]}}13)这会查询出id_num取模后值

8、为1的文档.14db.users.find(15{"id_num":{"$not":{"mod":[1,5]}}}1)4.条件句的规则在查询中,"$lt"在内层文档,在更新中"$inc"是外层文档的键.条件句是内层文档的键,修改器是外层文档的键.可对一个键应用多个条件,但一个键不能对应多个更新修改器.5.特定于类型的查询null可以匹配自身,而且可以匹配"不存在的"能查出

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。