我只是想在每次用户登录时更新用户文档中的lastLogin属性。
我的密码和salt在同一个对象中,我附加了一个预先保存的方法,用于哈希密码。
问题是当我尝试在登录时保存用户时,执行预保存方法并重新设置密码,这会更改文档中的密码。 如何在用户调用save方法之前从mongoose用户对象中删除密码和salt属性?
答案 0 :(得分:1)
而不是使用def create
# create user logic
if @user.save
# Grab the session variable at the same time deleting it
gName = session.delete(:goal_name)
gDeadline = session.delete(:goal_deadline)
# You can make this more complex for error handling
@user.goals.create(name: gName, deadline: gDeadline)
redirect_to success_creation_path
else
...
end
end
,而是使用.findOneAndUpdate()
代替,如果您想要更新单个属性:
.save()