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

คำนวณความถี่ของชื่อที่ซ้ำกันจากฟิลด์ NAME โดยใช้ MongoDB รวมหรือไม่


ในการคำนวณความถี่ ให้จัดกลุ่มด้วย $group in aggregate() ให้เราสร้างคอลเลกชันที่มีเอกสาร -

> db.demo635.insertOne({Name:"Chris"});{ "acknowledged" :true, "insertedId" :ObjectId("5e9c10f06c954c74be91e6cc")}> db.demo635.insertOne({Name:"David" });{ "รับทราบ" :จริง "insertedId" :ObjectId("5e9c10f46c954c74be91e6cd")}> db.demo635.insertOne({Name:"David"});{ "acknowledged" :จริง "insertedId":ObjectId( "5e9c10f66c954c74be91e6ce")}> db.demo635.insertOne ({ชื่อ:"Chris"});{ "รับทราบ" :จริง "insertedId" :ObjectId ("5e9c10f86c954c74be91e6cf")}> dbsert.demo635.in" Bob"});{ "รับทราบ" :จริง "insertedId" :ObjectId("5e9c10fb6c954c74be91e6d0")}> db.demo635.insertOne({Name:"Chris"});{ "acknowledged" :จริง "insertedId" :ObjectId("5e9c10fc6c954c74be91e6d1")}

แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -

> db.demo635.find();

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

{ "_id" :ObjectId("5e9c10f06c954c74be91e6cc"), "Name" :"Chris" }{ "_id" :ObjectId("5e9c10f46c954c74be91e6cd"), "Name" :"David" }{ "_id" :ObjectId( "5e9c10f66c954c74be91e6ce"), "Name" :"David" }{ "_id" :ObjectId("5e9c10f86c954c74be91e6cf"), "Name" :"Chris" }{ "_id" :ObjectId("5e9c10fbe6e6cf":ชื่อ Bob" }{ "_id" :ObjectId("5e9c10fc6c954c74be91e6d1"), "Name" :"Chris" }

ต่อไปนี้เป็นแบบสอบถามเพื่อคำนวณความถี่โดยใช้กรอบงานรวม MongoDB -

> db.demo635.aggregate([... { $unwind:"$Name" },... { $group:{ "_id":"$Name", TotalFrequency:{ $sum :1 } } }... ]... );

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

{ "_id" :"David", "TotalFrequency" :2 }{ "_id" :"Bob", "TotalFrequency" :1 }{ "_id" :"Chris", "TotalFrequency" :3 }