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的唯一途径。   
  • 相关阅读:
    HDU 4611 Balls Rearrangement 数学
    Educational Codeforces Round 11 D. Number of Parallelograms 暴力
    Knockout.Js官网学习(简介)
    Entity Framework 关系约束配置
    Entity Framework Fluent API
    Entity Framework DataAnnotations
    Entity Framework 系统约定配置
    Entity Framework 自动生成CodeFirst代码
    Entity Framework CodeFirst数据迁移
    Entity Framework CodeFirst尝试
  • 原文地址:https://www.cnblogs.com/wuxiang/p/5553658.html
Copyright © 2011-2022 走看看