MongoDB查询操作限制返回字段的方法
2015-08-12 17:29
579 查看
映射(projection )声明用来限制所有查询匹配文档的返回字段。projection以文档的形式列举结果集中要包含或者排除的字段。可以指定要包含的字段(例如:{field:1})或者指定要排除的字段(例如:{field:0})。默认_id是包含在结果集合中的,要从结果集中排除_id字段,需要在projection中指定排除_id字段({_id:0})。除了_id字段,不能在一个projection中联合使用包含和排除语意。
返回匹配文档的所有字段:
如果没有指定projection,find()方法返回所有匹配文档的所有字段。
代码如下:
db.inventory.find( { type: 'food' } )
这个例子将返回inventory集合中type字段的值为"food"的所有文档,返回的文档包含全部字段。
返回指定字段和_id字段:
一个projection可以明确地指定多个字段。下面的操作中,find()方法返回匹配的所有文档。在结果集中,只有item和qty字段,默认_id字段也是返回的。
代码如下:
db.inventory.find( { type: 'food' }, { item: 1, qty: 1 } )
仅返回指定字段:
可以通过在projection中指定排除_id字段将其从结果中去掉,如下例子所示:
代码如下:
db.inventory.find( { type: 'food' }, { item: 1, qty: 1, _id:0 } )
返回除排除掉以外的字段:
可以使用一个projection排除一个或者一组字段,如下:
代码如下:
db.inventory.find( { type: 'food' }, { type:0 } )
这个操作返回所有type字段值为food的文档,在结果中type字段不返回。
数组字段的projection:
$elemMatch 和 $slice运算符是对数组进行projection的唯一途径。
返回列表中的字段
db.test.find({"someReview.user":"wan"},{"someReview.user":1,"someReview.text":1})
返回匹配文档的所有字段:
如果没有指定projection,find()方法返回所有匹配文档的所有字段。
代码如下:
db.inventory.find( { type: 'food' } )
这个例子将返回inventory集合中type字段的值为"food"的所有文档,返回的文档包含全部字段。
返回指定字段和_id字段:
一个projection可以明确地指定多个字段。下面的操作中,find()方法返回匹配的所有文档。在结果集中,只有item和qty字段,默认_id字段也是返回的。
代码如下:
db.inventory.find( { type: 'food' }, { item: 1, qty: 1 } )
仅返回指定字段:
可以通过在projection中指定排除_id字段将其从结果中去掉,如下例子所示:
代码如下:
db.inventory.find( { type: 'food' }, { item: 1, qty: 1, _id:0 } )
返回除排除掉以外的字段:
可以使用一个projection排除一个或者一组字段,如下:
代码如下:
db.inventory.find( { type: 'food' }, { type:0 } )
这个操作返回所有type字段值为food的文档,在结果中type字段不返回。
数组字段的projection:
$elemMatch 和 $slice运算符是对数组进行projection的唯一途径。
返回列表中的字段
db.test.find({"someReview.user":"wan"},{"someReview.user":1,"someReview.text":1})
相关文章推荐
- 安装mongdb
- mongodba安装及配置windows
- CentOS7 下安装 Nginx + MongoDB + Wildfly
- MongoDB之增删改查(一)
- 学习MongoDB的好地方
- MongoDB索引、聚合
- Mongodb 复制集Replica Set搭建与测试
- Flume 1.5日志收集和存款mongodb安装结构
- MongoDB
- MongoDB 的基本命令
- Java MongoDB 3.X 3.04 Crud 增删查改 deleteMany updateMany updateOne
- MongoDB图形化管理工具
- 为什么pyspider+mongodb只存了一部分数据到数据库,而其他大量数据并没有写入数据库!
- Java中使用MongoDB进行增删改查
- 浅谈MongoDB
- 学习记录之mongodb
- mongodb 命令零散记录
- MongoDB源码概述——内存管理和存储引擎
- MongoDB save or update
- mongodb与sql聚合操作对应图