一段时间后,MonogDB会自动重置保存的值

时间:2019-03-19 17:27:14

标签: node.js database mongodb login

我正在使用node.js构建小型游戏并存储状态/令牌,而我正在使用在线数据库mongolab。我使用以下功能生成令牌:

UserSchema.methods.generateAuthToken = function() {
var user = this;
var access = "auth";
var token = jwt.sign({_id: user._id.toHexString, access}, "abc123").toString();

user.tokens = user.tokens.concat({access, token});
return user.save().then(() => {
    return token;
});

};

save函数是:

UserSchema.pre("save", function(next) {
    var user = this;
    console.log("Being saved");
    if (user.isModified("password")) {
        console.log("Being modified");
        bcrypt.genSalt(5, (err, saltvalue) => {
            bcrypt.hash(user.password, saltvalue, (err, hash) => {
                user.password = hash;
                next();
            });
        });
    } else {
        next();
    }
});

如果我停留在sometime(delay)的某个页面上,那么数据库会将令牌重置为空数组。

但是,我在各处插入了console.logs,以查看服务器是否尝试重置该值,但是数据库会自动重置该值。 如果有人知道这种错误,那将对您有很大帮助。

0 个答案:

没有答案