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

Làm cách nào để chọn tài liệu có giá trị trên mức trung bình trong MongoDB?


Sử dụng tổng hợp () trong MongoDB để chọn tài liệu có giá trị trên mức trung bình. Để tìm mức trung bình, hãy sử dụng $ avg trong MongoDB.

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

> db.demo552.insertOne ({giá trị:10}); {"công nhận":true, "insertId":ObjectId ("5e8e3b1c9e5f92834d7f05ea")}> db.demo552.insertOne ({giá trị:50}); { "inherit":true, "insertId":ObjectId ("5e8e3b1f9e5f92834d7f05eb")}> db.demo552.insertOne ({giá trị:40}); {"Recog":true, "insertId":ObjectId ("5e8e3b289e5f92834d7" / pre> 

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.demo552.find (); 

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

 {"_id":ObjectId ("5e8e3b1c9e5f92834d7f05ea"), "giá trị":10} {"_id":ObjectId ("5e8e3b1f9e5f92834d7f05eb"), "giá trị":50} {"_ecid":ObjectIf5b289e7ef3b289e7ef3b289e7ef928 ") , "giá trị":40} 

Sau đây là truy vấn để chọn tài liệu có giá trị trên mức trung bình -

> var findAvg =db.demo552.aggregate ([... {"$ group":{"_id":"null", Average:{"$ avg":"$ values"}}} ... ]). toArray () [0] ["Average"];> db.demo552.find ({"giá trị":{"$ gt":findAvg}}) 

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

 {"_id":ObjectId ("5e8e3b1f9e5f92834d7f05eb"), "giá trị":50} {"_id":ObjectId ("5e8e3b289e5f92834d7f05ec"), "giá trị":40}