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

ใช้ MongoDB Aggregate และ GroupBy เพื่อรับความถี่ของการบันทึกชื่อ


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

<ก่อนหน้า>> db.demo232.insertOne({_id:101,Name:"Chris"});{ "acknowledged" :true, "insertedId" :101 }> db.demo232.insertOne({_id:102,Name:"Bob"});{ "acknowledged" :true, "insertedId" :102 }> db.demo232.insertOne({_id:103,Name:"Bob"});{ "acknowledged" :true, "insertedId" :103 }> db.demo232.insertOne({_id:104,Name:"David"});{ "acknowledged" :true, "insertedId" :104 }> db.demo232.insertOne({_id:105,Name:" คริส"});{ "รับทราบ" :จริง "insertedId" :105 }

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

> db.demo232.find();

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

{ "_id" :101, "Name" :"Chris" }{ "_id" :102, "Name" :"Bob" }{ "_id" :103, "Name" :"Bob" }{ " _id" :104, "Name" :"David" }{ "_id" :105, "Name" :"Chris" }

ต่อไปนี้เป็นแบบสอบถามเพื่อรับความถี่ของการบันทึกชื่อใน MongoDB -

> db.demo232.aggregate( { $group :{_id :"$Name", ความถี่ :{ $sum :1 }} } );

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

{ "_id" :"David", "Frequency" :1 }{ "_id" :"Bob", "Frequency" :2 }{ "_id" :"Chris", "Frequency" :2 }