问题描述
我最近一直在试验 nosql 数据库,主要是 mongodb,我遇到了一个奇怪的阻塞。为了保持简短,我开始实现用户身份验证/配置文件创建。用户和个人资料具有 1-1 关系。创建用户时,配置文件也是如此,但在开始时除了用户 ID 之外没有其他值
user = new User({
username,email,password
})
user.password = await bcrypt.hash(password,salt)
const newUser = await user.save()
const newProfile = await new Profile({user: newUser.id})
await newProfile.save()
所以这很好用,我什至添加了一些检查来比较 newUser.id 和 newProfile.user,这是匹配的,它们是相同的
现在,当我尝试在这里更新此代码中的配置文件时出现问题,出于某种原因,我认为 mongodb 不认为 id 值是相同的,我已经解决了一段时间并且不能弄清楚我做错了什么。所以这段代码将 NULL 返回到我的个人资料更新端点,我不知道为什么(我使用的是猫鼬)
try {
const profile = await Profile.findOneAndUpdate(
{user: req.user.id},{$set: profileData},{new: true})
return res.json(profile)
} catch (err) {
console.log(err.message)
res.status(500).send("Server error")
}
我在想如果这行不通,我可以在制作文档之前生成一个 id 并将其作为自定义字段传递给集合
没有错误
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)