【问题标题】:MongoDB upsert array using NodeJS使用 NodeJS 的 MongoDB upsert 数组
【发布时间】: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?

谢谢。

【问题讨论】:

标签: arrays node.js mongodb


【解决方案1】:

不确定,但看起来您没有传递查询(第一个参数),应该更新哪些数据。

dbo.collection("Ebooks").update((), arrayValues, {upsert: true, multi: true},function(err, res) {})

dbo.collection("Ebooks").update((_id:someValue), arrayValues, {upsert: true, multi: true},function(err, res) {})

【讨论】:

    猜你喜欢
    • 2014-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-31
    • 1970-01-01
    • 2013-06-05
    • 2020-07-10
    • 1970-01-01
    相关资源
    最近更新 更多