หากต้องการต่อ ให้ใช้ $concat ใน MongoDB aggregate() ให้เราสร้างคอลเลกชันที่มีเอกสารก่อน -
> db.demo377.insertOne({"ListOfIds":[1001,1002,1003,1004,1005,1006,1007]}); { "acknowledged" : true, "insertedId" : ObjectId("5e5a73462ae06a1609a00b0e") }
แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -
> db.demo377.find().pretty();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : ObjectId("5e5a73462ae06a1609a00b0e"), "ListOfIds" : [ 1001, 1002, 1003, 1004, 1005, 1006, 1007 ] }
ต่อไปนี้เป็นแบบสอบถามเพื่อเชื่อมอาร์เรย์ของจำนวนเต็มในการรวม -
> db.demo377.aggregate([ ... { "$project": { ... "ListOfIds": { ... "$let": { ... "vars": { ... "key": { ... "$reduce": { ... "input": "$ListOfIds", ... "initialValue": "", ... "in": { "$concat": ["$$value", "++", { "$toLower": "$$this" }] } ... } ... } ... }, ... "in": { "$substrCP": ["$$key", 2, { "$strLenCP": "$$key" }] } ... } ... } ... }} ... ])
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : ObjectId("5e5a73462ae06a1609a00b0e"), "ListOfIds" : "1001++1002++1003++1004++1005++1006++1007" }