Step into MongoDB - 04 - 简单查询

目录

摘要

Query 结构,find,count,pretty,explain

Query

基本结构

db.users.find(          //collection
  {age: {$gt: 18}},        //query critria
  {name: 1, address: 1} //projection
).limit(5)              //cursor modifier

查找多条记录

db.<collectionName>.find([cond])

查找单条记录

db.<collectionName>.findOne([cond])

Shell 每次最多返回 20 条记录,可以输入 it 来获得更多记录。

查询结果集个数

db.<collectionName>.count()

Cursor

在 Shell 中除了可以直接使用 find() ,也可以使用 cursor 来保存检索结果。

var cursor = db.testData.find().addOption(DBQuery.Option.noTimout);
printjson(cursor[0])

格式化输出

find 语句后加上 pretty() 可以格式化输出查询结果。

Issue

迷惑的集合名

Javascript 只有在 db 的属性中中找不到与 collectionName 不符的属性时,才会将其作为集合返回。比如说 version 是 db 的一个属性,如果 collectionName 也为 version 的话,db.version 是不会正确返回的。此外 “foo-bar” 之类的不合法名也不会正确返回。

解决办法

db.getCollection(dbName)

explain

explain 可以用于分析查询语句的性能

db.towns.find().explain()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值