更新することはできませんが、新しい ID を保存し、古い ID を削除することはできます。いくつかの手順に従って、MongoDB の _id を更新します。手順は次のとおりです。
ステップ 1: 最初のステップでは、ObjectId を変数に保存する必要があります。
anyVariableName=db.yourCollectionName.findOne({_id:yourObjectIdValue)});
ステップ 2: 2 番目のステップでは、新しい ID を設定する必要があります。
yourDeclaredVariableName._id=yourNewObjectIdValue;
ステップ 3: 3 番目のステップでは、ドキュメントに新しい ID を挿入する必要があります。
db.yourCollectionName.insert(yourDeclaredVariableName);
ステップ 4: 4 番目のステップでは、古い ID を削除する必要があります。
db.yourCollectionName.remove({_id:yourOldObjectIdValue)});
上記の手順を理解するために、ドキュメントのコレクションを作成してみましょう。ドキュメントを使用してコレクションを作成するクエリは次のとおりです。
> db.updateIdDemo.insertOne({"StudentName":"Robert"}); { "acknowledged" : true, "insertedId" : ObjectId("5c6ebfec6fd07954a4890683") } > db.updateIdDemo.insertOne({"StudentName":"Chris"}); { "acknowledged" : true, "insertedId" : ObjectId("5c6ebff66fd07954a4890684") } > db.updateIdDemo.insertOne({"StudentName":"Maxwell"}); { "acknowledged" : true, "insertedId" : ObjectId("5c6ebfff6fd07954a4890685") }
find() メソッドを使用して、コレクション内のすべてのドキュメントを表示します。クエリは次のとおりです:
> db.updateIdDemo.find().pretty();
次は出力です:
{ "_id" : ObjectId("5c6ebfec6fd07954a4890683"), "StudentName" : "Robert" } { "_id" : ObjectId("5c6ebff66fd07954a4890684"), "StudentName" : "Chris" } { "_id" : ObjectId("5c6ebfff6fd07954a4890685"), "StudentName" : "Maxwell" }
次は MongoDB ドキュメントの _id を更新するクエリです:
Step1: > myId=db.updateIdDemo.findOne({_id:ObjectId("5c6ebfec6fd07954a4890683")}); { "_id" : ObjectId("5c6ebfec6fd07954a4890683"), "StudentName" : "Robert" } Step 2: > myId._id=ObjectId("5c6ebfec6fd07954a4890689"); ObjectId("5c6ebfec6fd07954a4890689") Step 3: > db.updateIdDemo.insert(myId); WriteResult({ "nInserted" : 1 }) Step 4: > db.updateIdDemo.remove({_id:ObjectId("5c6ebfec6fd07954a4890683")}); WriteResult({ "nRemoved" : 1 })
確認してみましょう_id が更新されている場合。 find() メソッドを使用して、コレクション内のすべてのドキュメントを表示します:
> db.updateIdDemo.find().pretty();
出力は次のとおりです:
{ "_id" : ObjectId("5c6ebff66fd07954a4890684"), "StudentName" : "Chris" } { "_id" : ObjectId("5c6ebfff6fd07954a4890685"), "StudentName" : "Maxwell" } { "_id" : ObjectId("5c6ebfec6fd07954a4890689"), "StudentName" : "Robert" }
サンプル出力を表示します、"StudentName":_id of "ロバート」 を修正しました。
以上がMongoDB ドキュメントの _id を更新するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。