在使用Mongo节点驱动程序进行upsert时,是插入还是更新?

时间:2014-07-02 19:40:32

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

我使用的是Mongo的本机节点驱动程序。对于像:

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

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

感谢。

1 个答案:

答案 0 :(得分: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)
});