我的保存是:
tx = new Transaction transaction
tx.save (err) ->
console.log err
cb err
保存得很好。
Transaction.update transaction, {upsert: true}, (err, num, raw) ->
console.log err
console.log num
console.log raw
但是,我的更新不会包含文档。此外,它不会为err
返回num
和0。这是"mongoose": "~3.8.0"
答案 0 :(得分:1)
update
函数的第一个参数是匹配一个或多个文档的查询(reference)。
我希望对Transaction.update
的调用只包含文档的_id
,而不是整个对象。第二个参数是整个文档或使用更新运算符的对象。
你可能想要:
Transaction.update _id : transaction._id, transaction, upsert: true,
(err, num, raw)->
或者,您可能希望使用其中一个记录的update operators来设置该交易的特定属性。
Transaction.update _id : transaction._id, $set : { amount : 500 } ,
upsert : true, (err, num, raw) ->