わかりました、これはばかげた質問であり、おそらく簡単な答えがあると思います。
MongoDB でドキュメントを複製して、新しいドキュメントの _id を変更するにはどうすればよいですか?
元のドキュメントがあることをイメージする:
> var orig = db.MyCollection.findOne({_id: 'hi'})
そして今、_id 'bye' を持つコレクション内の別のドキュメントが必要です。
わかりました、これはばかげた質問であり、おそらく簡単な答えがあると思います。
MongoDB でドキュメントを複製して、新しいドキュメントの _id を変更するにはどうすればよいですか?
元のドキュメントがあることをイメージする:
> var orig = db.MyCollection.findOne({_id: 'hi'})
そして今、_id 'bye' を持つコレクション内の別のドキュメントが必要です。
IDを変更して再挿入するだけです。
> db.coll.insert({_id: 'hi', val: 1})
> var orig = db.coll.findOne({_id: 'hi'})
> orig._id = 'bye'
bye
> db.coll.insert(orig)
> db.coll.find()
{ "_id" : "hi", "val" : 1 }
{ "_id" : "bye", "val" : 1 }
コピー ドキュメントに新しい ObjectId を付与できます。モンゴシェルで
var copy = db.collection.findOne();
for (var i = 0; i< 30; i++){
copy._id = new ObjectId();
db.collection.insert(copy);
}
@689 レスポンスを少し改善
var copy = db.collection.findOne({},{_id:0});
for (var i = 0; i< 30; i++){
db.collection.insert(copy);
}