【问题标题】:On upsert with Mongo node driver, did it insert or update? [duplicate]在使用 Mongo 节点驱动程序进行 upsert 时,它是插入还是更新? [复制]
【发布时间】:2014-07-02 19:40:31
【问题描述】:

我正在使用 Mongo 的本地节点驱动程序。对于这样的 upsert:

collection.update(query, setData, { upsert: true }, callback);

有没有办法确定 upsert 是插入还是更新?使用 Mongo shell,您可以返回 WriteResult.nUpserted 来确定这一点,但我不确定如何从节点本机驱动程序中获取该信息。 http://docs.mongodb.org/manual/reference/method/WriteResult/#WriteResult.nUpserted

谢谢。

【问题讨论】:

    标签: node.js mongodb node-mongodb-native


    【解决方案1】:

    您应该能够通过检查传递给回调的第三个参数来找出答案:

    collection.update(query, setData, {upsert: true}, function(err, nAffected, raw) {
      if (err) throw err;
      console.dir(raw);
      // raw will contain updatedExisting and the inserted item _id (if applicable)
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-11
      • 2014-12-29
      • 1970-01-01
      • 2012-12-06
      • 1970-01-01
      • 2012-01-22
      • 2021-12-14
      • 1970-01-01
      相关资源
      最近更新 更多