$ inc不适用于我的mongo数据库(在localhost上)

时间:2015-09-20 23:44:48

标签: node.js mongodb

这应该是一个简单的问题。我已经将我的'更新'格式化为mongo文档中的确切格式,如您所见:

Message.update(
      { id: messageID },
      { $inc: { votes: 1 } }
    );

我试图将“投票”增加1.然而它并没有改变。这是我的架构文件:

var mongoose  = require('mongoose');

var MessageSchema = new mongoose.Schema({
  room: {
    type: String,
    required: true
  },
  timestamp: {
    type: Object,
    required: true
  },
  votes: {
    type: Number
  },
  id: {
    type: String,
    required: true
  },
  uid: {
    type: String,
    required: true
  },
  parent: {
    type: String,
    required: true
  },
  text: {
    type: String,
    required: true
  }
});

module.exports = mongoose.model('messages', MessageSchema);

输入'messageID'是正确的,因为'find'方法与此表完美配合。

1 个答案:

答案 0 :(得分:1)

尝试使用findByIdAndUpdate而不是更新。希望它有效

Message.findByIdAndUpdate(messageID ,{ $inc: { votes: 1 }},function(err, response) {
res.send(response);
});