zoukankan      html  css  js  c++  java
  • 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的唯一途径。   
  • 相关阅读:
    装载:深入理解拉格朗日乘子法(Lagrange Multiplier) 和KKT条件
    装载: Matlab 提取矩阵 某一行 或者 某一列 的方法
    编码规范的作用
    转载:奇异值分解(SVD) --- 线性变换几何意义(下)
    转载:奇异值分解(SVD) --- 线性变换几何意义(上)
    转载:LBP代码详细注释
    转载:纹理分类(一)全局特征
    转载:LBP的初步理解
    转载:双线性插值
    Matlab位运算操作
  • 原文地址:https://www.cnblogs.com/wuxiang/p/5553658.html
Copyright © 2011-2022 走看看