我有具有以下结构的“用户”集合:
_id: ObjectId(...),
name: 'Erik',
email: 'erik@mail.com'
我需要通过电子邮件使用注册确认,因此我需要您对以下方法的建议:
在该集合上为确认字段创建 TTL 索引:
db.users.ensureIndex({"confirm": 1}, {expireAfterSeconds: 60*60*1000});
当用户注册时,然后创建这个并确认为当前时间:
db.users.create({name: 'name', email: 'email', confirm: new Date()});
当用户发送确认您的帐户的请求时,我们会将其确认字段更新为 true,因为我们不希望该用户被 TTL 索引删除:
db.users.update({email: req.param('email'), {confirm: true}});
我想知道以下内容:
- 上述方法是否正确。
- 上述方法是否安全