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

จะรวมเอกสารอาร์เรย์ใน MongoDB ได้อย่างไร


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

> db.aggregateArrayDemo.insertOne( { "_id":100, "UserDetails":[ { "UserName":"John", "UserLoginYear":2010 }, { "UserName":"Carol", "UserLoginYear" :2019 } ] });{ "acknowledged" :true, "insertedId" :100 }

ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงเอกสารทั้งหมดจากคอลเลกชันโดยใช้วิธี find() -

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

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

{ "_id" :100, "UserDetails" :[ { "UserName" :"John", "UserLoginYear" :2010 }, { "UserName" :"Carol", "UserLoginYear" :2019 } ]} 

ต่อไปนี้เป็นแบบสอบถามเพื่อรวมเอกสารอาร์เรย์ -

> db.aggregateArrayDemo.aggregate ([ { $match:{ _id:100 } }, { $project:{ ขั้นต่ำ:{ $min:"$UserDetails.UserLoginYear" }, สูงสุด:{ $max:"$UserDetails .UserLoginYear" } } }]);

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

{ "_id" :100, "Minimum" :2010, "Maximum" :2019 }