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

คิวรี MongoDB สำหรับการรวมอาร์เรย์ (Array Concatenation)

ใช้โอเปอเรเตอร์ $concatArrays ใน aggregation pipeline เพื่อรวมอาร์เรย์หลายตัวเป็นอาร์เรย์เดียว สร้างคอลเลกชันตัวอย่าง:

> db.demo14.insertOne({"ListOfStudent":["Carol","Mike","Sam"],"ListOfTeacher":["Robert","David"]});
{ "acknowledged" : true, "insertedId" : ObjectId("5e0f754bd7df943a7cec4faa") }

แสดงข้อมูล:

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

ผลลัพธ์:

{ "_id" : ObjectId("5e0f754bd7df943a7cec4faa"), "ListOfStudent" : [ "Carol", "Mike", "Sam" ], "ListOfTeacher" : [ "Robert", "David" ] }

คิวรีรวมอาร์เรย์ด้วย $concatArrays:

> db.demo14.aggregate([
  { "$project": {
    "ListOfPeople": { "$concatArrays": [ "$ListOfStudent", "$ListOfTeacher" ] }
  }}
]);

ผลลัพธ์:

{ "_id" : ObjectId("5e0f754bd7df943a7cec4faa"), "ListOfPeople" : [ "Carol", "Mike", "Sam", "Robert", "David" ] }

ข้อมูลเพิ่มเติม

  • $concatArrays รองรับการรวมอาร์เรย์ 2 ตัวขึ้นไป
  • ลำดับสมาชิกในอาร์เรย์ผลลัพธ์จะตามลำดับของอาร์เรย์ที่ส่งเข้าไป
  • หากอาร์เรย์ใดเป็น null หรือไม่มีอยู่ จะถือเป็นอาร์เรย์ว่าง
  • ใช้ได้ใน $project, $addFields, $set (MongoDB 4.2+)