如何對聚合隱藏 _id?


要對聚合隱藏 _id,請使用下面的語法:

db.yourCollectionName.aggregate(
   {$project : {
      _id : 0 ,
      yourIncludeFieldName:1,
      yourIncludeFieldName:1
   }}
).pretty();

為了解上述語法,讓我們建立一個包含文件的集合。用於建立包含文件的集合的查詢如下:

> db.hideidDemo.insertOne({"UserName":"Larry","UserAge":23,"UserCountryName":"US"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c92b02336de59bd9de06392")
}
> db.hideidDemo.insertOne({"UserName":"Chris","UserAge":21,"UserCountryName":"AUS"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c92b03036de59bd9de06393")
}
> db.hideidDemo.insertOne({"UserName":"Robert","UserAge":26,"UserCountryName":"UK"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c92b04036de59bd9de06394")
}

藉助 find() 方法顯示某個集合中的所有文件。查詢如下:

> db.hideidDemo.find().pretty();

以下是輸出結果:

{
   "_id" : ObjectId("5c92b02336de59bd9de06392"),
   "UserName" : "Larry",
   "UserAge" : 23,
   "UserCountryName" : "US"
}
{
   "_id" : ObjectId("5c92b03036de59bd9de06393"),
   "UserName" : "Chris",
   "UserAge" : 21,
   "UserCountryName" : "AUS"
}
{
   "_id" : ObjectId("5c92b04036de59bd9de06394"),
   "UserName" : "Robert",
   "UserAge" : 26,
   "UserCountryName" : "UK"
}

以下是用於對聚合隱藏 _id 的查詢:

> db.hideidDemo.aggregate(
   ... {$project : {
      ... _id : 0 ,
      ... UserName:1,
      ... UserCountryName:1
   ... }}
... ).pretty();

以下是輸出結果:

{ "UserName" : "Larry", "UserCountryName" : "US" }
{ "UserName" : "Chris", "UserCountryName" : "AUS" }
{ "UserName" : "Robert", "UserCountryName" : "UK" }

更新於:30-Jul-2019

468 瀏覽量

開啟你的職業生涯

完成課程以取得認證

開始學習
廣告