我想在我的Meteor应用程序中保存MongoDB中的对象数组,我还使用Meteor天文学管理Mongo收集
像这样的对象数组
[
{
"id" : "aaaa1",
"make" : "toyota",
"year" : "2005",
"model" : "prado",
},
{
"id" : "aaaa2",
"make" : "toyota",
"year" : "2005;2006",
"model" : "fortuner",
},
{
"id" : "aaaa3",
"make" : "toyota",
"year" : "2005;2006;2007;2008",
"model" : "axio",
},
]
我使用map函数循环遍历数组并保存数据,但它只保存最后一条记录。
array.map((row) => {
console.log(row.type);
vehicleDb.set({
make: row.make,
year: row.year,
model: row.model,
});
vehicleDb.save( function (error) {
// console.log(error);
});
});
3条答案
按热度按时间dfuffjeb1#
如果你使用.set将元素保存到一个数组中,你需要将then“push”到数组中。下面是MongoDB数组操作符的列表:https://docs.mongodb.com/manual/reference/operator/update-array/
epfja78i2#
我假设
vehicleDb
是您的模式/模型,因为您使用了vehicleDb.save
。如果
vehicleDb
不是您的模型,那么在您的问题中添加了您的模式,我将更新我的答案pgccezyw3#
array.mapNotify.save。
在我的例子中,当传递整个对象以保存在文档中时,它不起作用。