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

รับระดับฟิลด์อาร์เรย์ที่แตกต่างกันใน MongoDB หรือไม่


เพื่อให้ได้ระดับที่แตกต่างกันของฟิลด์อาร์เรย์ ให้ใช้ $addToSet ใน MongoDB ให้เราสร้างคอลเลกชันที่มีเอกสาร -

> db.demo122.insertOne({"ListOfValues":[100,10]});{ "acknowledged" :true, "insertedId" :ObjectId("5e2f20f1140daf4c2a3544b6")}> db.demo122.insertOne({" ListOfValues":[240,10]});{ "acknowledged" :true, "insertedId" :ObjectId("5e2f20f7140daf4c2a3544b7")}

แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -

> db.demo122.find();

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

{ "_id" :ObjectId("5e2f20f1140daf4c2a3544b6"), "ListOfValues" :[ 100, 10 ] }{ "_id" :ObjectId("5e2f20f7140daf4c2a3544b7"), "ListOf 240, 10} :[ ]> 

ต่อไปนี้เป็นแบบสอบถามเพื่อรับระดับที่แตกต่างกันของฟิลด์อาร์เรย์ใน MongoDB -

> db.demo122.aggregate([... {... "$group":{... "_id":0,... "ListOfValues":{ "$addToSet":"$ListOfValues" }... }... }... ])

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

{ "_id" :0, "ListOfValues" :[ [ 240, 10 ], [ 100, 10 ] ] }