MongoDB 投影

  • 投影

    在MongoDB中,投影意味着仅选择必要的数据,而不是选择文档的全部数据。如果文档有5个字段,而您只需要显示3个字段,则仅从中选择3个字段。
  • find()方法

    MongoDB 查询文档中介绍的MongoDB的find()方法接受第二个可选参数,该参数是您要检索的字段列表。在MongoDB中,当您执行find()方法时,它将显示文档的所有字段。要限制此范围,您需要设置一个值为1或0的字段列表。1用于显示字段,而0用于隐藏字段。
    带投影的find()方法的基本语法如下-
     
    >db.COLLECTION_NAME.find({},{KEY:1})
    
    示例
    考虑集合empDetails具有以下数据-
     
    db.empDetails.find();
    { "_id" : ObjectId("5f48781a17adfc074ccae0e7"), "title" : "Java 教程", "author" : "张三", "phone" : "10086" }
    { "_id" : ObjectId("5f48781a17adfc074ccae0e8"), "title" : "PHP 教程", "author" : "李四", "phone" : "10086" }
    { "_id" : ObjectId("5f48781a17adfc074ccae0e9"), "title" : "Python 教程", "author" : "王五", "phone" : "19999999999" }
    
    以下示例将在查询文档时显示文档title字段。
     
    db.empDetails.find({},{"title":1,_id:0});
    { "title" : "Java 教程" }
    { "title" : "PHP 教程" }
    { "title" : "Python 教程" }
    
    请注意,_id字段在执行find()方法时始终显示,如果您不希望此字段,则需要将其设置为0。