如何透過在 MongoDB 中使用聚合框架排除 _id,而不包括其他欄位?


讓我們首先使用文件建立一個集合 -

> db.excludeIdDemo.insertOne({"StudentFirstName":"John","StudentAge":21});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd701a56d78f205348bc632")
}
> db.excludeIdDemo.insertOne({"StudentFirstName":"Robert","StudentAge":20});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd701af6d78f205348bc633")
}
> db.excludeIdDemo.insertOne({"StudentFirstName":"Chris","StudentAge":24});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd701b86d78f205348bc634")
}

以下是使用 find() 方法顯示集合中所有文件的查詢 -

> db.excludeIdDemo.find();

這將產生以下輸出 -

{ "_id" : ObjectId("5cd701a56d78f205348bc632"), "StudentFirstName" : "John", "StudentAge" : 21 }
{ "_id" : ObjectId("5cd701af6d78f205348bc633"), "StudentFirstName" : "Robert", "StudentAge" : 20 }
{ "_id" : ObjectId("5cd701b86d78f205348bc634"), "StudentFirstName" : "Chris", "StudentAge" : 24 }

以下是使用聚合框架不包括 _id 而又不包括其他欄位的查詢 -

> db.excludeIdDemo.aggregate(
   {
      $project :
      {
         _id : 0,
         "StudentFirstName": 1
      }
   }
);

這將產生以下輸出 -

{ "StudentFirstName" : "John" }
{ "StudentFirstName" : "Robert" }
{ "StudentFirstName" : "Chris" }

更新於:2019 年 7 月 30 日

686 次瀏覽

開啟你的 職業

完成課程獲取認證

立即開始
廣告