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

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


これには、updateコマンドと$pushを使用します。まず、ドキュメントを使用してコレクションを作成しましょう-

>db.demo9.insertOne({"StudentDetails":[{"StudentName":"Chris","ListOfSubject":["MySQL","Java"]}]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e0f6438d7df943a7cec4f94")
}

以下は、find()メソッドを使用してコレクションからすべてのドキュメントを表示するためのクエリです-

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

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

{
   "_id" : ObjectId("5e0f6438d7df943a7cec4f94"),
   "StudentDetails" : [
      {
         "StudentName" : "Chris",
         "ListOfSubject" : [
            "MySQL",
            "Java"
         ]
      }
   ]
}

以下は、$push-

を使用して条件に一致する配列要素を更新するためのクエリです。
> db.demo9.update( { "StudentDetails.StudentName":"Chris"}, {$push:{"StudentDetails.$.ListOfSubject":"MongoDB"}});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

以下は、find()メソッドを使用してコレクションからすべてのドキュメントを表示するためのクエリです-

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

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

{
   "_id" : ObjectId("5e0f6438d7df943a7cec4f94"),
   "StudentDetails" : [
      {
         "StudentName" : "Chris",
         "ListOfSubject" : [
            "MySQL",
            "Java",
            "MongoDB"
         ]
      }
   ]
}

  1. MongoDBで$pushを使用して配列を更新する

    $ pushで配列を更新するには、MongoDBでupdateOne()を使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo526.insertOne( ... { ... ...    "CountryName": "US", ...    "TeacherName": "Bob", ...    "StudentInformation": [ ...      

  2. MongoDB配列の要素を削除するにはどうすればよいですか?

    要素を削除するには、MongoDBで$ pullを更新して、使用します。 $ pull演算子は、既存の配列から、指定された条件に一致する1つまたは複数の値のすべてのインスタンスを削除します。 まず、ドキュメントを使用してコレクションを作成しましょう- db.demo541.insertOne({"software":{"services":["gmail","facebook","yahoo"]}});{    "acknowledged" : true