MongoDB
 Computer >> コンピューター >  >> プログラミング >> MongoDB

MongoDBで平均を超える値のドキュメントを選択するにはどうすればよいですか?


MongoDBでaggregate()を使用して、平均を超える値を持つドキュメントを選択します。平均を見つけるには、MongoDBで$avgを使用します。

ドキュメントを使用してコレクションを作成しましょう-

> db.demo552.insertOne({values:10}); {"acknowledged":true、 "insertedId":ObjectId( "5e8e3b1c9e5f92834d7f05ea")}> db.demo552.insertOne({values:50}); { "acknowledged":true、 "insertedId":ObjectId( "5e8e3b1f9e5f92834d7f05eb")}> db.demo552.insertOne({values:40}); {"acknowledged":true、 "insertedId":ObjectId( "5e8e3b289e5f92834d7f05ec") / pre> 

find()メソッドを使用してコレクションからすべてのドキュメントを表示する-

> db.demo552.find(); 

これにより、次の出力が生成されます-

 {"_id":ObjectId( "5e8e3b1c9e5f92834d7f05ea")、 "values":10} {"_id":ObjectId( "5e8e3b1f9e5f92834d7f05eb")、 "values":50} {"_id":ObjectId( "5e8e3b 、"値":40} 

以下は、平均を超える値を持つドキュメントを選択するためのクエリです-

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

これにより、次の出力が生成されます-

 {"_id":ObjectId( "5e8e3b1f9e5f92834d7f05eb")、 "values":50} {"_id":ObjectId( "5e8e3b289e5f92834d7f05ec")、 "values":40} 

  1. Aggregationを使用して、MongoDBのすべての値を照合します

    MongoDBのすべての値を一致させるには、Aggregationで$andとともに$matchを使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo574.insertOne( ...    { ...       "details1": { ...          "details2": { ...             "dueDate&q

  2. MongoDBで1つのクエリで多くのドキュメントを更新するにはどうすればよいですか?

    1つのクエリで多くのドキュメントを更新するには、MongoDBでbulkWrite()を使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo760.insertOne({id:1,details:{Value1:100,Value2:50}}); {    "acknowledged" : true,    "insertedId" : ObjectId("5eb0309f5637cd592b2a4aee") } > db.demo760.insert