在express会话上mongodb更新失败

在express会话上mongodb更新失败,mongodb,express,session-state,passport.js,Mongodb,Express,Session State,Passport.js,我正在使用passportjs进行身份验证。我正在使用mongodb存储express会话。保存的文档包含3个字段_id、session和expires 当我尝试使用mongoose更新文档时,它不会。但是,它确实找到了文档,但没有更新 文件上有锁吗?当我尝试从mongo控制台更新时,它确实 请帮忙 这是我的密码: var conditions = { '_id' : req.sessionID}; var update = { $set: { 'ip': '1

我正在使用passportjs进行身份验证。我正在使用mongodb存储express会话。保存的文档包含3个字段_id、session和expires

当我尝试使用mongoose更新文档时,它不会。但是,它确实找到了文档,但没有更新

文件上有锁吗?当我尝试从mongo控制台更新时,它确实

请帮忙

这是我的密码:

        var conditions = { '_id' :  req.sessionID};
        var update = { $set: { 'ip': '111.11.111.1112' }};

        Sessions.update(conditions, update, function (err, res) {
            if (err) return callback("FAILED");

            return callback("SUCCESS"); 
        });
这是我的模式

  var mongoose    = require('mongoose');

  // define the schema for our user model
  var sessionsSchema = mongoose.Schema({
       _id             : String,
       session         : String,
       ip              : String,
       expires     : String
  });


// create the model for users and expose it to our app
module.exports = mongoose.model('sessionsIP', sessionsSchema, 'sessionsIP');

@强尼加上我的名字code@JohnnyHK-不过,我在我的方案中确实提到了这一点。我还添加了架构代码。您可以指定更新失败导致的错误吗,只需控制台。日志(err)我可以知道为什么要覆盖
\u id
?这是mongodb使用的默认主键,它实际上应该是ObjectID,而不是字符串