$ pushを使用して条件に一致する配列要素を更新するMongoDBクエリ?
まず、ドキュメントを使用してコレクションを作成しましょう-
> db.updateArrayElementDemo.insertOne( { "UserDetails": [ { "UserName":"Chris", "UserAge":23 } ] } ); { "acknowledged" : true, "insertedId" : ObjectId("5ce9029378f00858fb12e90d") }
以下は、find()メソッドを使用してコレクションからすべてのドキュメントを表示するためのクエリです-
> db.updateArrayElementDemo.find().pretty();
これにより、次の出力が生成されます-
{ "_id" : ObjectId("5ce9029378f00858fb12e90d"), "UserDetails" : [ { "UserName" : "Chris", "UserAge" : 23 } ] }
以下は、$push-
を使用して条件に一致する配列要素を更新するためのクエリです。db.updateArrayElementDemo.update( {"UserDetails.UserAge": 23}, {"$push": {"UserDetails.$.UserCountryName": "US"}} ); WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
ドキュメントをもう一度確認しましょう-
> db.updateArrayElementDemo.find().pretty();
これにより、次の出力が生成されます-
{ "_id" : ObjectId("5ce9029378f00858fb12e90d"), "UserDetails" : [ { "UserName" : "Chris", "UserAge" : 23, "UserCountryName" : [ "US" ] } ] }>
-
配列の1つの要素のみをスライスするMongoDBクエリ
配列の1つの要素のみをスライスするには、MongoDBで$sliceを使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo579.insertOne( ... { ... "_id" : 101, ... "details" : { "FirstName" : "John" }, ... "Marks" :
-
配列要素の集計で平均を取得するMongoDBクエリ?
配列要素の平均を取得するには、$avgを使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo584.insertOne({"Marks":[75,50,85,60,80]});{ "acknowledged" : true, "insertedId" : ObjectId("5e91d827fd2d90c177b5bcc2") } find()メソッドを使用してコレクションからすべてのドキュメントを表示する- > db