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

update()と$pullを使用してMongoDBコレクションから配列要素を削除する


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

> db.removingAnArrayElementDemo.insertOne({"UserMessage":["Hi","Hello","Bye"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cef97bdef71edecf6a1f6a4")
}

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

> db.removingAnArrayElementDemo.find().pretty();

出力

{
   "_id" : ObjectId("5cef97bdef71edecf6a1f6a4"),
   "UserMessage" : [
      "Hi",
      "Hello",
      "Bye"
   ]
}

以下は、MongoDBから配列要素を削除するためのクエリです-

> db.removingAnArrayElementDemo.update(
   {_id:ObjectId("5cef97bdef71edecf6a1f6a4")},
   { "$pull": { "UserMessage": "Hello" } }
);
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

ドキュメントをもう一度確認しましょう:

> db.removingAnArrayElementDemo.find().pretty();

出力

{
   .
   "_id" : ObjectId("5cef97bdef71edecf6a1f6a4"),
   "UserMessage" : [
      "Hi",
      "Bye"
   ]
}

  1. MongoDBで$pushを使用して、条件に一致する配列要素を更新します

    これには、updateコマンドと$pushを使用します。まず、ドキュメントを使用してコレクションを作成しましょう- >db.demo9.insertOne({"StudentDetails":[{"StudentName":"Chris","ListOfSubject":["MySQL","Java"]}]}); {    "acknowledged" : true,    "insertedId&q

  2. MongoDBコレクション内のIDを介して配列エントリを検索し、更新を実行します

    idを介して配列を検索するには、positional$演算子を使用します。更新には、MongoDBのUPDATEを使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo49.insertOne( ... { ... ...    "Name": "David", ...    "Details": [ ...       { ...          "_id"