独自の事前定義された_id値を使用して、Mongoコレクションの「ルートレベルドキュメント」にオブジェクトの配列をどのように挿入できるのでしょうか。
db.MyCollection.insert(array);
を試しましたが、MongoDBで生成された単一の_idの下にネストされたドキュメントを作成します。
var array = [
{ _id: 'rg8nsoqsxhpNYho2N',
goals: 0,
assists: 1,
total: 1 },
{ _id: 'yKMx6sHQboL5m8Lqx',
goals: 0,
assists: 1,
total: 1 }];
db.MyCollection.insert(array);
欲しいもの
配列オブジェクトを繰り返し処理して、一度に1つずつ挿入してみませんか?
array.forEach((item) => db.MyCollection.insert(item));
このリンクを使用して、正確な結果を希望どおりに取得します。
https://docs.mongodb.org/manual/tutorial/insert-documents/#insert-a-document
MongoDB Bulk を使用して、データベースへの1回の呼び出しで複数のドキュメントを挿入できます。
最初に配列を反復処理し、各アイテムに対してbulk
メソッドを呼び出します。
bulk.insert(item)
ループの後、execute
を呼び出します。
bulk.execute()
詳細については、参考文献をご覧ください。