Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB

จะซ่อน _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" }