2

MongoDB を使用して ID を再割り当てしようとしています。ただし、割り当てた値と同じ ID を設定するのではなく、新しい ObjectId を作成しています。自分の ID を割り当てるにはどうすればよいですか?

> db.pGitHub.find();
{ "_id" : ObjectId("516f202da1faf201daa15635"), 
     "url" : { "raw" : "https://github.com/Quatlus", 
     "domain" : "github.com", "canonical" : "https://github.com/quatlus" } }
{ "_id" : ObjectId("516f202da1faf201daa15636"), 
      "url" : { "raw" : "https://github.com/Quasii", 
      "domain" : "github.com", "canonical" : "https://github.com/quasii" } }

> db.pGitHub.find().forEach(function(myProfile) {   
       var oldId = myProfile._id;   
       myProfile._id = 'exampleid';   
       db.pGitHub.save(myProfile);   
       db.pGitHub.remove({_id: oldId}); 
  });

> db.pGitHub.find();
{ "_id" : ObjectId("516f204da1faf201daa15637"), 
      "url" : { "raw" : "https://github.com/Quatlus", 
      "domain" : "github.com", "canonical" : "https://github.com/quatlus" } }
{ "_id" : ObjectId("516f204da1faf201daa15638"),  
      "url" : { "raw" : "https://github.com/Quasii", 
      "domain" : "github.com", "canonical" : "https://github.com/quasii" } }

私はMongo 2.4.2を使用しています

4

2 に答える 2

5

ベン、あなたの発言は正しいです。mongo シェル 2.4.2 の動作が他とは多少異なります (サーバーは影響を受けません)。目的に応じて、2.4.1 の mongo シェル バイナリを使用できます。

于 2013-04-17T23:59:21.343 に答える