2017-09-14 15 views

答えて

2

あなただけの簡単な方法を複製したい場合は、

db.col1.find({},{_id:0}).forEach(function(doc){db.col1.save(doc)}); 
0

を下回るようなものであることを行うために迅速多分ない最も効率的な方法は次のようになります。

  • コレクションのすべての文書を入手します
  • それぞれについて、新しい値でObjectIdを書き換えます。
  • 変更したドキュメントをコレクション内に挿入します。
  • モンゴで210

はあなたとしてのforEachを使用すると、以下のことを行うことができシェル:

db.getCollection('YOUR_COLLECTION').find({}).forEach(
    function(doc){ 
     doc._id = new ObjectId(); 
     db.getCollection('YOUR_COLLECTION').insert(doc); 
    } 
) 

この方法では、このクエリを実行するたびに、コレクション内のすべての文書が複製されています。

関連する問題