新しいキー要素をMongoDBのサブドキュメントにプッシュしますか?
これには$set演算子を使用できます。以下は構文です-
db.yourCollectionName.update({"_id" : yourObjectId },{$set: { "yourOuterFieldName.anyInnerFieldName": yourValue}});
まず、ドキュメントを使用してコレクションを作成しましょう-
> db.pushNewKeyDemo.insertOne({"UserId":100,"UserDetails":{}}); { "acknowledged" : true, "insertedId" : ObjectId("5cda58f5b50a6c6dd317adbf") }
以下は、find()メソッドを使用してコレクションからすべてのドキュメントを表示するためのクエリです-
> db.pushNewKeyDemo.find();
これにより、次の出力が生成されます-
{ "_id" : ObjectId("5cda58f5b50a6c6dd317adbf"), "UserId" : 100, "UserDetails" : { } }
以下は、新しいキー要素をMongoDBのサブドキュメントにプッシュするためのクエリです-
> db.pushNewKeyDemo.update({"_id" : ObjectId("5cda58f5b50a6c6dd317adbf")},{$set: { "UserDetails.UserName": "David Miller"}}); WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
もう一度ドキュメントを確認しましょう-
> db.pushNewKeyDemo.find();
これにより、次の出力が生成されます-
{ "_id" : ObjectId("5cda58f5b50a6c6dd317adbf"), "UserId" : 100, "UserDetails" : { "UserName" : "David Miller" } }
-
MongoDB配列の要素を削除するにはどうすればよいですか?
要素を削除するには、MongoDBで$ pullを更新して、使用します。 $ pull演算子は、既存の配列から、指定された条件に一致する1つまたは複数の値のすべてのインスタンスを削除します。 まず、ドキュメントを使用してコレクションを作成しましょう- db.demo541.insertOne({"software":{"services":["gmail","facebook","yahoo"]}});{ "acknowledged" : true
-
同じキーにMongoDBの複数のOR条件がありますか?
これには、$または1回だけ使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo551.insertOne({"Name":"John"});{ "acknowledged" : true, "insertedId" : ObjectId("5e8e36d39e5f92834d7f05e5") } > db.demo551.insertOne({"Name":"Chris Brown"})