MongoDB查询操作限制返回字段的方法

这篇文章主要介绍了MongoDB查询操作限制返回字段的方法,需要的朋友可以参考下

映射(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的唯一途径。

时间: 2024-10-24 18:50:22

MongoDB查询操作限制返回字段的方法的相关文章

MongoDB 查询操作(上)(二)

一.简介 MongoDB提供了db.collection.find() 方法是查询集合中文档并返回结果为游标的文档集合和db.collection.findOne()方法是只返回其中的第一条记录,而不是返回游标的文档集合. db.collection.find()可以实现根据条件查询和指定使用投影运算符返回的字段省略此参数返回匹配文档中的所有字段.并返回到匹配文档的游标.可以随意修改查询限制.跳跃.和排序顺序的功能. 二.db.collection.find()查询数据 语法 <span sty

mongodb查询数据库中某个字段中的值包含某个字符串的方法

正则表达式最能解决: 例如: db.getCollection('news').find({'content':/^.*120.77.215.34:9999.*$/}) 这里主要是注意正则表达式要写对,该转义的注意转义,否则报错. 原文地址:https://www.cnblogs.com/beileixinqing/p/9475934.html

MongoDB查询操作

1 数据准备 var persons = [{ name:"jim", age:25, email:"[email protected]", c:89,m:96,e:87, country:"USA", books:["JS","C++","EXTJS","MONGODB"]},{ name:"tom", age:25, email:"[

封装的只要是查询数据库并且返回字符串的方法把它放在DBDA类里面供以后直接调用使用

用这个封装好了的类文件可以做以下两个操作方便快捷

mongodb查询只显示指定字段

db.COMMODITY_COMMODITY.find( { "areaCode" : "320100" , "backCatalogId" : { "$in" : [ 111111, 22222]} , "typeCode" : { "$in" : [ "appointment" , "groupon"]} , "status"

mongodb查询find(

mongodb查询find(2012-01-05 11:38:10) 转载▼ 标签: it 分类: mongoDB mongodb查询find 指定返回的键,通过find或findOne的第二个参数指定想要的键. > db.visithomepage.find({},{"user_id" : 1,"time" :1}) { "_id" : ObjectId("4e0713be3ded0ab30ccb4b81"), &qu

基于jsp+servlet图书管理系统之后台用户信息查询操作

上一篇的博客写的是查询操作,且附有源码和数据库,这篇博客写的时候查询操作,附有从头至尾写的代码(详细的注释)和数据库! 此次查询操作的源码和数据库:http://download.csdn.net/detail/biexiansheng/9732095 为了方便理解和说明,这里简单介绍一些执行的流程,方便理解.插入操作的执行流程和说明: 1:插入操作的执行流程如下 1.1:首先登录页面,设置默认的打开页面是login.jsp. <!-- 默认模仿的是登录界面login.jsp页面 -->  &

PHP mysqli学习(三)查询操作

查询所有:fetch_all() MYSQLI_NUM MYSQLI_ASSOC MYSQLI_BOTH 查询一条:fetch_row()fetch_assoc()fetch_object()fetch_array() MYSQLI_NUM MYSQLI_ASSOC MYSQLI_BOTH 用代码说话: <?php header('content-type:text/html;charset=utf-8'); $mysqli = new mysqli(); $mysqli = @mysqli_c

关于php查询mongodb限制返回字段的问题

最近想做一个前端控制接口字段返回的一个基础方法,通过mongodb 的find($query,$field)查询来规定查询的字段,但是遇到这么一个问题: 工作代码中有两个封装方法 : /** * 查询一条记录 * @param string 集合名 * @param array 查询条件 * @param array 需要返回的字段 * @return array 查询的结果 */ public function find_one($coll_name, $condition = array()