gpt4 book ai didi

node.js - mongoose findOne 返回找到的第一个对象,即使条件不成立

转载 作者:行者123 更新时间:2023-12-05 01:25:34 24 4
gpt4 key购买 nike

<分区>

我正在使用 MERN 堆栈,我有一个问题,即 mongoose findOne 返回找到的第一个对象,即使条件不为真这是我的用户模型

{ local:{
username,
email,
password
},
google: {
googleId,
email,
name
}
}

我有这个模式静态,可以找到电子邮件是否存在

userSchema.statics.findByEmail = async (email) => {
const localUser = await User.findOne({ "local.email": email });
const googleUser = await User.findOne({ "goolge.email": email });
return { localUser, googleUser };
};

在我的 api 中,在我添加用户之前,我使用 findByEmail 在我的数据库中搜索它

router.post("/register", async (req, res) => {
const user = await User.findByEmail(req.user.email);
})

如果我的数据库中没有文档,该 api 工作正常,但如果至少有一个文档,它总是返回我数据库中的第一个文档,即使 req.user.email不在我的数据库中

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com