Computer >> Máy Tính >  >> Lập trình >> MongoDB

Làm thế nào để ẩn _id khỏi Aggregation?


Để ẩn _id khỏi tổng hợp, hãy sử dụng cú pháp dưới đây -

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

Để hiểu cú pháp trên, chúng ta hãy tạo một bộ sưu tập với tài liệu. Truy vấn để tạo một bộ sưu tập với một tài liệu như sau -

> 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")
}

Hiển thị tất cả các tài liệu từ một bộ sưu tập với sự trợ giúp của phương thức find (). Truy vấn như sau -

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

Sau đây là kết quả -

{
   "_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"
}

Đây là truy vấn để ẩn _id khỏi tổng hợp -

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

Sau đây là kết quả -

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