При обновлении с помощью драйвера узла Mongo он вставлялся или обновлялся?

Я использую собственный драйвер узла Mongo. Для upsert как:

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

Есть ли способ определить, сделал ли upsert вставку или обновление? С оболочкой Mongo вы можете вернуть WriteResult.nUpserted, чтобы определить это, но я не уверен, как получить эту информацию из собственного драйвера узла. http://docs.mongodb.org/manual/reference/method/WriteResult/#WriteResult.nUpserted

Спасибо.


person Erik Olson    schedule 02.07.2014    source источник


Ответы (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)
});
person mscdex    schedule 02.07.2014