2017-06-09 5 views
0

私はModal.save()を実行するときに新しい文書に挿入する必要があるオブジェクトの配列を持っています。これを達成するためのベストプラクティスは何でしょうか?この中save()中にMongooseにオブジェクトの配列を含めるには?

var array = [ 
    { "id" : "001", "itemName" : "itemName001" }, 
    { "id" : "002", "itemName" : "itemName002" }, 
] 

:あなたが直接マングースのcreate関数を呼び出すことができます

{ 
    "collectionName" : "Collection A", 
    "items" : [ 
       { "id" : "001", "itemName" : "itemName001", "itemDescription" : "Foo was here..." }, 
       { "id" : "002", "itemName" : "itemName002", "itemDescription" : "Foo was here..." }, 
    ] 
} 

答えて

0

var newItemCollection = new Collection ({ 
    collectionName: req.body.collectionName, 
    items: [ 
     { id : array.id, itemName: array.itemName, itemDescription: "Foo was here..." } 
    ] 
}); 
newItemCollection.save(); 

だから、このようなものを返します。私はこれを挿入することができますどのように

var array = [ 
    { "id" : "001", "itemName" : "itemName001" }, 
    { "id" : "002", "itemName" : "itemName002" }, 
] 

var items = [] 

array.forEach(function(entry) { 
    entry['itemDescription'] = "Foo was here..." 
    items.push(entry) 
}); 

var data = { 
    collectionName: req.body.collectionName, 
    items: items 
} 


Collection.create(data, function (err, res) { 
    if (err) return handleError(err); 
    console.log('saved') 
}) 
+0

'items:array'ではありません。' itemDescription'のために '.map()'が呼び出される必要があります –

+0

ああ、大丈夫です、答えを更新します。ありがとう – Sravan

+0

それは動作します!ありがとう!! –

関連する問題