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

การทำงานกับ MongoDB $concatArrays ใน $project บนฟิลด์ multi-array ที่มีอยู่


$concatArrays ใช้เพื่อเชื่อมอาร์เรย์เพื่อส่งคืนอาร์เรย์ที่ต่อกัน

ให้เราสร้างคอลเลกชันที่มีเอกสาร -

> db.demo338.insertOne({"Name":"Chris","Marks1":[ [56,67,45],[67,89,90,91]]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e5299baf8647eb59e56209f")
}

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

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

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

{
   "_id" : ObjectId("5e5299baf8647eb59e56209f"),
   "Name" : "Chris",
   "Marks1" : [
      [
         56,
         67,
         45
      ],
      [
         67,
         89,
         90,
         91
      ]
   ]
}

ต่อไปนี้เป็นแบบสอบถามในการทำงานกับเขตข้อมูลหลายอาร์เรย์ที่มีอยู่และอาร์เรย์ที่เชื่อมต่อกัน -

> db.demo338.aggregate([
...    { "$project": {
...       "Marks": {
...          "$reduce": {
...          "input": "$Marks1",
...          "initialValue": [],
...          "in": { "$concatArrays": ["$$this", "$$value"] }
...       }
...    }
... }}
... ])

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

{ "_id" : ObjectId("5e5299baf8647eb59e56209f"), "Marks" : [ 67, 89, 90, 91, 56, 67, 45 ] }