在express会话上mongodb更新失败
我正在使用passportjs进行身份验证。我正在使用mongodb存储express会话。保存的文档包含3个字段_id、session和expires 当我尝试使用mongoose更新文档时,它不会。但是,它确实找到了文档,但没有更新 文件上有锁吗?当我尝试从mongo控制台更新时,它确实 请帮忙 这是我的密码:在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
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,而不是字符串