首页> MongoDB教程
MongoDB查询操作限制返回字段的方法
withpy
2021-07-18
简介这篇文章主要介绍了MongoDB查询操作限制返回字段的方法,需要的朋友可以参考下
映射(projection )声明用来限制所有查询匹配文档的返回字段。projection以文档的形式列举结果集中要包含或者排除的字段。可以指定要包含的字段(例如:{field:1})或者指定要排除的字段(例如:{field:0})。默认_id是包含在结果集合中的,要从结果集中排除_id字段,需要在projection中指定排除_id字段({_id:0})。除了_id字段,不能在一个projection中联合使用包含和排除语意。
返回匹配文档的所有字段:
如果没有指定projection,find()方法返回所有匹配文档的所有字段。
这个例子将返回inventory集合中type字段的值为"food"的所有文档,返回的文档包含全部字段。
返回指定字段和_id字段:
一个projection可以明确地指定多个字段。下面的操作中,find()方法返回匹配的所有文档。在结果集中,只有item和qty字段,默认_id字段也是返回的。
仅返回指定字段:
可以通过在projection中指定排除_id字段将其从结果中去掉,如下例子所示:
返回除排除掉以外的字段:
可以使用一个projection排除一个或者一组字段,如下:
这个操作返回所有type字段值为food的文档,在结果中type字段不返回。
数组字段的projection:
$elemMatch 和 $slice运算符是对数组进行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的唯一途径。
上一篇:MongoDB修改数据的2种方法
下一篇:MongoDB查询技巧总结
相关文章
-
ES6 proxy和reflect的使用方法与应用实例分析
这篇文章主要介绍了ES6 proxy和reflect的使用方法,结合具体实例形式分析了ES6 proxy和reflect基本功能、原理、使用方法与操作注意事项,需要的朋友可以参考下
-
C++ min/max_element 函数用法详解
这篇文章主要介绍了C++ min/max_element 函数用法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
-
python利用itertools生成密码字典并多线程撞库破解rar密码
这篇文章主要介绍了python利用itertools生成密码字典并多线程撞库破解rar密码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
-
解决Django中多条件查询的问题
今天小编就为大家分享一篇解决Django中多条件查询的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
-
易语言写百度顶帖子Post实例
在本文里小编给大家整了一个关于用易语言写百度顶帖子的功能,有需要的朋友们参考下。
-
详细Laravel5.5执行表迁移命令出现表为空的解决方案
这篇文章主要介绍了详细Laravel5.5执行表迁移命令出现表为空的解决方案,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧