zoukankan      html  css  js  c++  java
  • MongoDB查询指定字段(field)返回指定字段的方法

    使用MongoDB的时候需要只查询指定的字段进行返回,也就是类似mysql里面的 SELECT id,name,age 这样而不是SELECT *。在MongoDB里面映射(projection)声明用来限制所有查询匹配文档的返回字段。projection以文档的形式列举结果集中要包含或者排除的字段。可以指定要包含的字段(例如:{field:1})或者指定要排除的字段(例如:{field:0})。默认_id是包含在结果集合中的,要从结果集中排除_id字段,需要在projection中指定排除_id字段({_id:0})。除了_id字段,不能在一个projection中联合使用包含和排除语意。

    返回匹配文档的所有字段:
    如果没有指定projection,find()方法返回所有匹配文档的所有字段。
     
    db.tbl_user.find({name:'lily'})
    //这个例子将返回tbl_user集合中name字段的值为"lily"的所有文档,返回的文档包含全部字段。
     
     
    返回指定字段和_id字段:
    一个projection可以明确地指定多个字段。下面的操作中,find()方法返回匹配的所有文档。在结果集中,只有name和age字段,默认_id字段也是返回的。
     
    db.tbl_user.find({name:'lily'}, {name:1,age:1} )
     
     
    仅返回指定字段:
    可以通过在projection中指定排除_id字段将其从结果中去掉,如下例子所示:
     
    db.tbl_user.find({name:'lily'}, {name:1,age:1, _id:0 } )
     
     
    返回除排除掉以外的字段:
    可以使用一个projection排除一个或者一组字段,如下:
     
    db.tbl_user.find({name:'lily'}, {name:0} )
    //这个操作返回所有name字段值为lily的文档,在结果中name字段不返回。

    数组字段的projection:
    $elemMatch 和 $slice运算符是对数组进行projection的唯一途径。

  • 相关阅读:
    个人阅读作业+个人总结
    个人作业Week3-案例分析
    个人作业Week2-代码复审
    个人作业-Week1
    个人项目-数独
    第0次个人作业
    团队项目-游戏引擎的考察
    Week3结对项目-数独游戏
    个人作业Week3-案例分析
    代码复审
  • 原文地址:https://www.cnblogs.com/duhuo/p/4336122.html
Copyright © 2011-2022 走看看