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

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”:” Robert”の_idを見てください。 変更されました。


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

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

  2. MongoDB埋め込みドキュメントで特定の要素を見つける方法は?

    特定の要素を見つけるには、MongoDBで$projectを使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo744.insertOne( ...    { ...       studentInformation: ...       [ ...          { ...             studentName:"Robert", .