Computer >> Máy Tính >  >> Lập trình >> MongoDB

Sử dụng MongoDB Aggregate và GroupBy để nhận tần suất của bản ghi tên

Trước tiên, hãy để chúng tôi tạo một bộ sưu tập với các tài liệu -

> db.demo232.insertOne ({_ id:101, Name:"Chris"}); {"Recognition":true, "insertId":101}> db.demo232.insertOne ({_ id:102, Name:"Bob"}); {"Recognition":true, "insertId":102}> db.demo232.insertOne ({_ id:103, Name:"Bob"}); {"nition ":true," insertId ":103}> db.demo232.insertOne ({_ id:104, Tên:"David"}); {"công nhận":true, "insertId":104}> db.demo232.insertOne ({_ id:105, Tên:" Chris "}); {" Recognition ":true," insertId ":105} 

Hiển thị tất cả các tài liệu từ một bộ sưu tập với sự trợ giúp của phương thức find () -

> db.demo232.find (); 

Điều này sẽ tạo ra kết quả sau -

 {"_id":101, "Tên":"Chris"} {"_id":102, "Tên":"Bob"} {"_id":103, "Tên":"Bob"} {" _id ":104," Tên ":" David "} {" _id ":105," Tên ":" Chris "} 

Sau đây là truy vấn để lấy tần suất của bản ghi tên trong MongoDB -

> db.demo232.aggregate ({$ group:{_id:"$ Name", Tần suất:{$ sum:1}}}); 

Điều này sẽ tạo ra kết quả sau -

 {"_id":"David", "Tần suất":1} {"_id":"Bob", "Tần suất":2} {"_id":"Chris", "Tần suất":2}