ในการซ่อน _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" }