【发布时间】:2015-08-20 09:41:04
【问题描述】:
我有以下代码:
var conditions = {_id: playerID, 'gameStats.GameID' : gameID},
update = {$inc: {'gameStats.$.wins' : 1}},
options = {new : true};
player.findAndModify(conditions, update, options, function (err, doc) {
if (err) {
console.log("updated failed")
return res.sendStatus(300);
}
当我执行它时,返回错误消息“TypeError: undefined is not a function”,我真的不知道问题出在哪里。有人可以帮忙吗?
【问题讨论】:
-
player来自哪里?您使用的是哪个版本的节点驱动程序?此外,我怀疑你的整个代码实际上受到"How to return the response from an asynchronous call" 的影响 -
Steven,感谢您的回复...不确定我使用的是什么版本的驱动器我有 Nodejs 版本 0.12.7...对于这一切仍然很新。玩家来自:mongoose.model('player', playerSchema);使用更新方法时它工作正常,但我改为 findAndModify 因为我需要使用 dotnation 才能访问子文档
-
这会产生“巨大”的差异。不过,您仍然不应该在异步回调中调用
return。它实际上并没有做任何事情,因为它是最后一次调用。
标签: node.js mongodb mongoose driver findandmodify