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

เป็นไปได้ไหมที่จะรวมสองฟิลด์ใน MongoDB โดยใช้เฟรมเวิร์กการรวม?


ใช่ เป็นไปได้โดยใช้ตัวดำเนินการโครงการ $ ให้เราสร้างคอลเลกชันที่มีเอกสารก่อน

<ก่อน>> 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 }