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

WBOY
リリース: 2023-08-31 22:29:02
転載
1559 人が閲覧しました

如何更新 MongoDB 文档的 _id?

更新することはできませんが、新しい 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 サイトの他の関連記事を参照してください。

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!