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

MongoDBドキュメントの単一のリストアイテムを更新しますか?


単一のリスト項目を更新するには、定位置演算子($)を使用します。まず、ドキュメントを使用してコレクションを作成しましょう-

> db.updateASingleListDemo.insertOne({ _id:1, "EmployeeName":"Chris", "EmployeeDetails": [ {"EmployeeId":"EMP-101","EmployeeSalary": 18999 }] });
{ "acknowledged" : true, "insertedId" : 1 }

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

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

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

{
   "_id" : 1,
   "EmployeeName" : "Chris",
   "EmployeeDetails" : [
      {
         "EmployeeId" : "EMP-101",
         "EmployeeSalary" : 18999
      }
   ]
}

以下は、MongoDBドキュメントの単一のリストアイテムを更新するためのクエリです。ここでは、給与を更新しています-

> db.updateASingleListDemo.update({_id: 1, 'EmployeeDetails.EmployeeId': "EMP-101"}, {$inc: {'EmployeeDetails.$.EmployeeSalary': 1}});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

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

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

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

{
   "_id" : 1,
   "EmployeeName" : "Chris",
   "EmployeeDetails" : [
      {
         "EmployeeId" : "EMP-101",
         "EmployeeSalary" : 19000
      }
   ]
}

  1. ネストされたドキュメントを更新するためのMongoDBクエリ

    ドキュメントを使用してコレクションを作成しましょう- > db.demo595.insertOne( { "Information": [    { "_id": new ObjectId(), Name:"Chris" },    { _id:new ObjectId(), Name:"Robert" } ] } ); {    "acknowledged" : true,    "inserted

  2. ネストされたドキュメントを更新するMongoDBクエリ?

    ネストされたドキュメントを更新するには、update()を使用し、その中でドット表記を使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo607.insertOne( ...    { ...       id:1, ...       "Info1" : { ...          "Name" : "Chris", ...