【发布时间】:2021-03-17 18:17:36
【问题描述】:
第一次上 SO,所以我希望一切顺利。
我在当前项目中使用 Mongoose,到目前为止我还没有遇到任何问题。如标题所述,在使用简单的 console.log 查询文档并验证该文档确实存在于数据库中之后,当我使用 populate 方法时,我无法获取要填充的文档的对象引用。
我正在研究一个简单的身份验证路线。我的客户文档分为两个对象引用,登录和用户配置文件。在我的查询中,我正在搜索登录配置文件对象引用 id 与先前查询的登录配置文件的 id 匹配的客户端文档。然后我想在客户端文档上填充用户配置文件和登录配置文件,然后返回客户端文档。
我的控制台日志显示客户端文档,但填充方法似乎没有执行。代码如下。
const login = await LoginProfile.findOne({ email });
if (login === null) {
console.log("Account doesn't exist.");
} else {
let validPassword = await bcrypt.compare(password, login.password);
if (!validPassword) {
console.log("Email or Password is incorrect");
} else {
const clientDoc = await Client.findOne({
loginProfile: login,
});
console.log(clientDoc.populate("userProfile").populate("loginProfile");
}
}
我可能做错了,但我是自学的,我正在努力。感谢您提供的任何解决方案。如果您有其他实现方式,请分享!谢谢!
【问题讨论】:
标签: javascript node.js express mongoose mongoose-populate