MongoDB查询指定字段

映射(projection )声明用来限制所有查询匹配文档的返回字段
projection以文档的形式列举结果集中要包含或者排除的字段。
可以指定要包含的字段(例如: {field:1})或者指定要排除的字段(例如:{field:0})。
默认_id是包含在结果集合中的,要从结果集中排除_id字段,需要在 projection中指定排除_id字段({_id:0})。
除了_id字段,不能在一个projection中联合使用包含和排除语意。

返回匹配文档的所有字段:

如果没有指定projectionfind()方法返回所有匹配文档的所有字段。
代码如下:

db.inventory.find( { type: 'food' } )

这个例子将返回inventory集合中type字段的值为"food"的所有文档,返回的文档包含全部字段。

返回指定字段和_id字段:

一个projection可以明确地指定多个字段。下面的操作中,find()方法返回匹配的所有文档。在结果集中,只有itemqty字段,默认_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
elemMatchslice运算符是对数组进行projection的唯一途径。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值