このような 3 つのドキュメントを含む元のコレクション (ソースと呼びます) があるとします。
{ "_id" :ObjectId("54"), "f1" : "Josh", "f2" : 12 }
{ "_id" :ObjectId("53"), "f1" : "Ray", "f3" : 1971 }
{ "_id" :ObjectId("56"), "f1" : "Jim", "f2" : 17, "f3" : 5, "f4" : "Spri", "f5" :"hg" }
ここで、同じ数のドキュメントで次の形式の新しい空のコレクション (dest と呼びます) を作成したいと考えています。
{ "_id" : ObjectId("501"), "f1" : "", "f2" :"", "f3"="" }
{ "_id" : ObjectId("520"), "f1" : "", "f2" :"", "f3"="" }
{ "_id" : ObjectId("534"), "f1" : "", "f2" :"", "f3"="" }
ソース コレクションから新しい dest コレクションを更新するにはどうすればよいですか? 各レコード/ドキュメントに一致するフィールドを見つけて、これらのフィールドだけを更新する必要があります。db.users.find().forEach を使用してレコードごとに移動する必要がありますか? 何かトリックはありますか?