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

MongoDBの配列要素を更新しますか?


$ addToSet演算子を使用して、配列要素を更新します。まず、ドキュメントを使用してコレクションを作成しましょう-

> db.updateArrayDemo.insertOne(
...    {
...
...       "ClientDetails" : [
...          {
...             "ClientName" : "John",
...             "DeveloperDetails" : [ ]
...          },
...          {
...             "ClientName" : "Larry",
...             "DeveloperDetails" : [ ]
...          }
...       ]
...    }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ccf465edceb9a92e6aa1960")
}

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

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

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

{
   "_id" : ObjectId("5ccf465edceb9a92e6aa1960"),
   "ClientDetails" : [
      {
         "ClientName" : "John",
         "DeveloperDetails" : [ ]
      },
      {
         "ClientName" : "Larry",
         "DeveloperDetails" : [ ]
      }
   ]
}

以下は、配列要素を更新するためのクエリです-

> db.updateArrayDemo.update({ "ClientDetails.ClientName": "Larry" },
{ $addToSet: { "ClientDetails.$.Technology": { 'DeveloperName': "Chris", 'WorkExperience':5 } } }, false, true);
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

配列要素が更新されているかどうかを確認しましょう-

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

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

{
   "_id" : ObjectId("5ccf465edceb9a92e6aa1960"),
   "ClientDetails" : [
      {
         "ClientName" : "John",
         "DeveloperDetails" : [ ]
      },
      {
         "ClientName" : "Larry",
         "DeveloperDetails" : [ ],
         "Technology" : [
            {
               "DeveloperName" : "Chris",
               "WorkExperience" : 5
            }
         ]
      }
   ]
}

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

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

  2. MongoDBのJSON配列の内部要素にアクセスしますか?

    MongoDBのJSON配列の内部要素にアクセスするには、ドット表記を使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo687.insert({CountryName:'US', ... info: ... { ... id:101, ... details: ... [ ... { ...    Name:'Chris', ...    SubjectName:'MongoDB', ...    otherDetails:{ ...