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

การรวม MongoDB เพื่อรวมหรือรวมฟิลด์แล้วนับ?


เมื่อต้องการรวมหรือรวมเขตข้อมูลแล้วทำการนับ ให้ใช้ $group พร้อมกับ $sum และ $sort ให้เราสร้างคอลเลกชันที่มีเอกสาร -

> db.demo647.insertOne({"Subject":"MySQL"});{ "acknowledged" :true, "insertedId" :ObjectId("5e9c86316c954c74be91e6ee")}> db.demo647.insertOne({"Subject" :"MongoDB"});{ "acknowledged" :true, "insertedId" :ObjectId("5e9c86356c954c74be91e6ef")}> db.demo647.insertOne({"Subject":"MySQL"});{ "acknowledged" :true, "insertedId" :ObjectId("5e9c86376c954c74be91e6f0")}> db.demo647.insertOne({"Subject":"SQL Server"});{ "acknowledged" :true, "insertedId" :ObjectId("5e9c86406}c954f74c .demo647.insertOne({"Subject":"MongoDB"});{ "acknowledged" :true, "insertedId" :ObjectId("5e9c86436c954c74be91e6f2")}> db.demo647.insertOne({"Subject":"PL/SQL "});{ "รับทราบ" :จริง "insertedId" :ObjectId("5e9c864b6c954c74be91e6f3")}> db.demo647.insertOne({"Subject":"MongoDB"});{ "acknowledged" :จริง "insertedId" :ObjectId("5e9c86c16c954c74be91e6f4")}

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

> db.demo647.find();

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

{ "_id" :ObjectId("5e9c86316c954c74be91e6ee"), "Subject" :"MySQL" }{ "_id" :ObjectId("5e9c86356c954c74be91e6ef"), "Subject" :"MongoDB" :}{ "_Id" ( "5e9c86376c954c74be91e6f0"), "หัวเรื่อง" :"MySQL" }{ "_id" :ObjectId("5e9c86406c954c74be91e6f1"), "Subject" :"SQL Server" }{ "_id" :ObjectId("3c914eject":365e9cject "MongoDB" }{ "_id" :ObjectId("5e9c864b6c954c74be91e6f3"), "Subject" :"PL/SQL" }{ "_id" :ObjectId("5e9c86c16c954c74be91e6f4"), "Subject" :"pregoDB> 

ต่อไปนี้เป็นแบบสอบถามเพื่อรวมหรือรวมเขตข้อมูลแล้วนับ -

> db.demo647.aggregate([ { "$group":{ "_id":"$Subject", "COUNT":{ "$sum":1 } } }, { "$sort":{ " COUNT":-1 } }, { "$limit":2 } ] );

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

{ "_id" :"MongoDB", "COUNT" :3 }{ "_id" :"MySQL", "COUNT" :2 }