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

รวมสองฟิลด์อาร์เรย์ใน MongoDB?


หากต้องการรวม ให้ใช้ตัวดำเนินการ $setUnion ให้เราสร้างคอลเลกชันที่มีเอกสารก่อน -

<ก่อนหน้า>> db.mergeTwoArrayFieldDemo.insertOne({"NaturalNumbers":[1,2,3,8,10,20,30],"WholeNumbers":[0,1,2,63,78,20,45] });{ "รับทราบ" :จริง "insertedId" :ObjectId("5cd68e4057806ebf1256f11d")}

ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงเอกสารทั้งหมดจากคอลเลกชันโดยใช้วิธี find() -

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

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

{ "_id" :ObjectId("5cd68e4057806ebf1256f11d"), "NaturalNumbers" :[1, 2, 3, 8, 10, 20, 30 ], "WholeNumbers" :[ 0, 1, 2, 63, 78, 20, 45 ]}

ต่อไปนี้เป็นแบบสอบถามเพื่อรวมสองเขตข้อมูลอาร์เรย์ใน MongoDB

> db.mergeTwoArrayFieldDemo.aggregate([ { "$project":{ "MergedArray":{ "$setUnion":[ "$NaturalNumbers", "$WholeNumbers" ] } }}]);

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

{ "_id" :ObjectId("5cd68e4057806ebf1256f11d"), "MergedArray" :[ 0, 1, 2, 3, 8, 10, 20, 30, 45, 63, 78 ] }