หากต้องการเชื่อมสตริงจากสองฟิลด์เป็นฟิลด์ที่สาม คุณสามารถใช้ไวยากรณ์ต่อไปนี้
db.yourCollectionName.aggregate( [ { $project: { "yourNewFieldName": { $concat: [ "$yourFieldName1", " yourDellimiterValue ", "$yourFieldName2" ] } } } ] );
ให้เราสร้างคอลเลกชันที่มีเอกสารก่อน
>db.concatenateStringsDemo.insertOne({"StudentFirstName":"John","StudentLastName":"Doe"}); { "acknowledged" : true, "insertedId" : ObjectId("5c9bb7362d66697741252444") } >db.concatenateStringsDemo.insertOne({"StudentFirstName":"John","StudentLastName":"Smith"}); { "acknowledged" : true, "insertedId" : ObjectId("5c9bb7402d66697741252445") } >db.concatenateStringsDemo.insertOne({"StudentFirstName":"Carol","StudentLastName":"Taylor"}); { "acknowledged" : true, "insertedId" : ObjectId("5c9bb74c2d66697741252446") } >db.concatenateStringsDemo.insertOne({"StudentFirstName":"David","StudentLastName":"Miller"}); { "acknowledged" : true, "insertedId" : ObjectId("5c9bb7752d66697741252447") } >db.concatenateStringsDemo.insertOne({"StudentFirstName":"James","StudentLastName":"Williams"}); { "acknowledged" : true, "insertedId" : ObjectId("5c9bb7862d66697741252448") }
ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงเอกสารทั้งหมดจากคอลเลกชันโดยใช้วิธี find()
> db.concatenateStringsDemo.find().pretty();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้
{ "_id" : ObjectId("5c9bb7362d66697741252444"), "StudentFirstName" : "John", "StudentLastName" : "Doe" } { "_id" : ObjectId("5c9bb7402d66697741252445"), "StudentFirstName" : "John", "StudentLastName" : "Smith" } { "_id" : ObjectId("5c9bb74c2d66697741252446"), "StudentFirstName" : "Carol", "StudentLastName" : "Taylor" } { "_id" : ObjectId("5c9bb7752d66697741252447"), "StudentFirstName" : "David", "StudentLastName" : "Miller" } { "_id" : ObjectId("5c9bb7862d66697741252448"), "StudentFirstName" : "James", "StudentLastName" : "Williams" }
ต่อไปนี้เป็นแบบสอบถามเพื่อเชื่อมสตริงจากสองฟิลด์เป็นฟิลด์ที่สาม เรากำลังเชื่อมฟิลด์ “StudentFirstName” และ “StudentLastName” ที่นี่เป็นฟิลด์ที่สาม
> db.concatenateStringsDemo.aggregate( ... [ ... { $project: { "StudentFullName": { $concat: [ "$StudentFirstName", " / ", "$StudentLastName" ] } } } ... ] ... );
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้
{ "_id" : ObjectId("5c9bb7362d66697741252444"), "StudentFullName" : "John / Doe" } { "_id" : ObjectId("5c9bb7402d66697741252445"), "StudentFullName" : "John / Smith" } { "_id" : ObjectId("5c9bb74c2d66697741252446"), "StudentFullName" : "Carol / Taylor" } { "_id" : ObjectId("5c9bb7752d66697741252447"), "StudentFullName" : "David / Miller" } { "_id" : ObjectId("5c9bb7862d66697741252448"), "StudentFullName" : "James / Williams" }