来自2.7.x的Mongooose ODB文档说明以下内容有效:
Model.findOne({ name: 'borne' }, function (err, doc){
doc.name = 'jason borne';
doc.visits.$inc();
doc.save();
});
这取自版本2.7.x的mongoosejs.com(页面底部)。我现在正在学习Node.js并使用Mongoose,而上述似乎并不起作用。
我有一个架构,我有一个mongoose字段设置为:
visits : Number
并且默认情况下我在一个对象上设置 visits = 0;
当我尝试类似的事情时:
Model.findOne({'email' : req.query.email}, function(error, mdl) {
mdl.visits.$inc();
mdl.save();
}
我在控制台中收到以下错误:
TypeError:对象0没有方法' $ inc' ?
有什么建议吗?
感谢。
答案 0 :(得分:1)
这些号码扩展导致了Mongoose 3.x中的问题和have been removed。
最好由具有update
运算符的原子$inc
处理:
Model.update(
{email: req.query.email},
{$inc: {visits: 1}},
function(error, numAffected) { ... }
);