MongoDBの単一の配列要素から属性を設定解除しますか?
$ unset演算子を使用して、属性の設定を解除します。まず、ドキュメントを使用してコレクションを作成しましょう-
> db.unsetAnAttributeDemo.insertOne( ... { ... _id: 1, ... "StudentDetails": [ ... { ... "StudentFirstName": "Ramit", ... "StudentCountryName":"UK" ... }, ... { ... "StudentFirstName": "Bob", ... "StudentCountryName":"US" ... }, ... { ... "StudentFirstName": "Carol", ... "StudentCountryName":"AUS" ... ... } ... ] ... } ... ); { "acknowledged" : true, "insertedId" : 1 }>
以下は、find()メソッドを使用してコレクションからすべてのドキュメントを表示するためのクエリです-
> db.unsetAnAttributeDemo.find().pretty();
これにより、次の出力が生成されます-
{ "_id" : 1, "StudentDetails" : [ { "StudentFirstName" : "Ramit", "StudentCountryName" : "UK" }, { "StudentFirstName" : "Bob", "StudentCountryName" : "US" }, { "StudentFirstName" : "Carol", "StudentCountryName" : "AUS" } ] }
以下は、単一の配列要素から属性を設定解除するためのクエリです。値が「AUS」の属性「StudentCountryName」は設定解除されます-
> db.unsetAnAttributeDemo.update({"StudentDetails.StudentCountryName": "AUS"}, {$unset: {"StudentDetails.$.StudentCountryName": 1}}); WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
コレクションのドキュメントを表示して、値が「AUS」の属性StudentCountryNameがクリアされているかどうかを確認します-
> db.unsetAnAttributeDemo.find().pretty();
これにより、次の出力が生成されます-
{ "_id" : 1, "StudentDetails" : [ { "StudentFirstName" : "Ramit", "StudentCountryName" : "UK" }, { "StudentFirstName" : "Bob", "StudentCountryName" : "US" }, { "StudentFirstName" : "Carol" } ] }
-
MongoDBのインデックスによる結果の配列から単一の要素を取得します
単一の要素を取得するには、集計とLIMITを使用します。 skip()は、特定の数のドキュメントをスキップするために使用されます。 まず、ドキュメントを使用してコレクションを作成しましょう- > db.demo391.insertOne( ... { "_id" : 101, "Name" : "Chris", Values: ["101", "102"] } ... ) { "acknowledged" : true, "inse
-
MongoDB配列の要素を削除するにはどうすればよいですか?
要素を削除するには、MongoDBで$ pullを更新して、使用します。 $ pull演算子は、既存の配列から、指定された条件に一致する1つまたは複数の値のすべてのインスタンスを削除します。 まず、ドキュメントを使用してコレクションを作成しましょう- db.demo541.insertOne({"software":{"services":["gmail","facebook","yahoo"]}});{ "acknowledged" : true