ใช่ เป็นไปได้โดยใช้ตัวดำเนินการโครงการ $ ให้เราสร้างคอลเลกชันที่มีเอกสารก่อน
<ก่อน>> db.sumTwoFieldsDemo.insertOne({"FirstValue":150,"SecondValue":350});{ "acknowledged" :true, "insertedId" :ObjectId("5c9b4bfe15e86fd1496b38cd")}> db.semoinTwoFieldsD("5c9b4bfe15e86fd1496b38cd")}> {"FirstValue":450,"SecondValue":1550});{ "รับทราบ" :จริง "insertedId" :ObjectId("5c9b4c1215e86fd1496b38ce")}> db.sumTwoFieldsDemo.insertOne ({"FirstValue":2560,"Secon :2440});{ "รับทราบ" :จริง "insertedId" :ObjectId("5c9b4c2715e86fd1496b38cf")}ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงเอกสารทั้งหมดจากคอลเลกชันโดยใช้วิธี find()
> db.sumTwoFieldsDemo.find().pretty();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้
{ "_id" :ObjectId("5c9b4bfe15e86fd1496b38cd"), "FirstValue" :150, "SecondValue" :350}{ "_id" :ObjectId("5c9b4c1215e86fd1496b38ce"), "First, "Second" V 1550 }{ "_id" :ObjectId("5c9b4c2715e86fd1496b38cf"), "FirstValue" :2560, "SecondValue" :2440}
ต่อไปนี้เป็นแบบสอบถามเพื่อรวม 2 ฟิลด์ใน MongoDB โดยใช้ตัวดำเนินการ $project
> db.sumTwoFieldsDemo.aggregate(... { "$project" :... {... 'First' :'$FirstValue',... 'Second' :'$SecondValue',... 'TotalValueOfBothFields' :{ '$add' :[ '$FirstValue', '$SecondValue' ] },... }... }... );
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้
{ "_id" :ObjectId("5c9b4bfe15e86fd1496b38cd"), "First" :150, "Second" :350 "TotalValueOfBothFields" :500 }{ "_id" :ObjectId("5c9b4c1215ece86fd, 450 , "Second" :1550, "TotalValueOfBothFields" :2000 }{ "_id" :ObjectId("5c9b4c2715e86fd1496b38cf"), "First" :2560, "Second" :2440, "TotalValueOfBothFields" > :5000 }