2017-06-29 41 views
1

我正在为mongodb使用猫鼬库。 我试图用建议的here以下面的代码保存上次登录时间。无法编辑猫鼬文档

UserModel.findOne({ email: req.body.email }, function (err, doc) { 
     //console.log('doc', doc); 
     doc.lastLoginTime = new Date(); 
     doc.save(); 
    }); 

我无法编辑它保持不变的文档。我在这里错过了什么? 我的模式是

const UserSchema = new mongoose.Schema({ 
    email: { 
     type: mongoose.SchemaTypes.String, 
     required: true, 
     //unique: true, 
     set: toLower 
    }, 
    created_at: { 
     type: Date, 
     default: Date.now 
    }, 
    updated_at: { 
     type: Date, 
     default: Date.now 
    } 
}, { strict: false }); 
+0

有没有在架构中定义了'lastLoginTime'财产?如果没有,然后在那里添加它。 –

+0

我在模式中使用了{strict:false}。即使我修改现有的属性,更新不起作用。 –

+0

@AnkurAkvaliya你能分享你的模式吗? –

回答

2

通知,strict文档中的以下内容:

注:任意键/ VAL在不您的模式存在实例设置总是被忽略,不管架构选项。

您需要使用doc.set()

doc.set('lastLoginTime', new Date());