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

MongoDBのコレクションの既存のドキュメントを更新または変更するにはどうすればよいですか?


MongoDBのコレクションの既存のドキュメントを更新または変更するには、update()メソッドを使用する必要があります。構文は次のとおりです。

db.yourCollectionName.update(yourExistingValue, yourUpdatedValue);

ここでは、nameupdateinformationを使用してコレクションを作成します。コレクションを作成するためのクエリは次のとおりです。以下に示すように、insert()メソッドを使用してドキュメントを挿入すると、MongoDBはコレクションを自動的に作成します。

> db.updateInformation.insert({"StudentName":"Larry",StudentAge:35,StudentMarks:89});

出力は次のとおりです。

WriteResult({ "nInserted" : 1 })

これで、コレクションの更新情報からfind()メソッドを使用してドキュメントを表示できます。クエリは次のとおりです。

> db.updateInformation.find();

以下は、上記で追加したコレクション内のドキュメントを表示する出力です。

{ "_id" : ObjectId("5c6aa29a64f3d70fcc9147f7"), "StudentName" : "Larry", "StudentAge" : 35,
"StudentMarks" : 89 }

次に、既存のドキュメント「StudentAge」を35から24に更新または変更します。このために、update()メソッドを使用します。クエリは次のとおりです。

> db.updateInformation.update({StudentAge:35},{$set:{StudentAge:24}});

出力は次のとおりです。

WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

上記のStudentAge35を24に更新しました。もう一度ドキュメントを確認しましょう。クエリは次のとおりです。

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

出力は次のとおりです。

{
   "_id" : ObjectId("5c6aa29a64f3d70fcc9147f7"),
   "StudentName" : "Larry",
   "StudentAge" : 24,
   "StudentMarks" : 89
}

上記のStudentAgeフィールドを見てください。年齢は24歳に更新されました/以前は35歳でした。


  1. MongoDBで複数のドキュメントを更新するにはどうすればよいですか?

    複数のドキュメントを更新するには、multi:trueを使用する必要があります。まず、ドキュメントを使用してコレクションを作成しましょう- > db.multiUpdateDemo.insertOne({"ClientName":"John","ClientAge":29}); {    "acknowledged" : true,    "insertedId" : ObjectId("5cda5bc0b50a6c6dd317adc8&q

  2. 既存のドキュメントを上書きせずにMongoDBドキュメントを更新するにはどうすればよいですか?

    フィールド値のみを更新するには、$ setとともにupdate()を使用します。これにより、既存のものが上書きされることはありません。まず、ドキュメントを使用してコレクションを作成しましょう- > db.demo401.insertOne( ...    { ...       "_id" : 1001, ...       "Name" : "Chris", ...       "SubjectName&qu