【发布时间】:2018-01-22 14:43:57
【问题描述】:
我需要插入一个元素列表并检查该元素是否存在于数据库中,如果该元素存在则该元素将被更新。
我使用了 upsert 和数组:
dbo.collection("Ebooks").update(arrayValues, {upsert: true, multi: true},function(err, res) {
if (err) throw err;
console.log("finish");
db.close();
});
数组如:
[{_id: 10, name='Teste1'}, {_id: 11, name='Teste2'}]
并且正在返回此错误:
MongoError: BSON 字段 'update.updates.q' 是错误类型 'array',预期类型 'object'
如何将 Array 转换为这个 Object?
谢谢。
【问题讨论】:
-
arrayValues的值是多少?可以贴在这里吗? -
stackoverflow.com/questions/23470658/… 的可能重复项。您必须迭代输入数组并执行重复中提到的两步过程。
-
每条记录都是NodeJs数组的一个元素