如何找到一个条件?

How to find with a condition?

我正在尝试查找数据:

     await User.find({$or: [{email: req.body.email}, {linkedEmail: req.body.email}]})
     .populate("roles")
     .exec((err, user) => {
         if (err) 
            res.status(500).send({message: err});
      });

用户总是注册了一个电子邮件,并且可能包含一个链接的电子邮件...所以我试图通过两种方式找到它,但是当我在邮递员中测试它时,它只是在 发送请求中循环 并且不显示响应

使用 mongoose 查询生成器可以避免一些混淆。参见 doc

此外,由于您正在使用 async/await,您应该使用 try/catch 而不是将回调传递给 exec。对照 doc

try {
  const user = await User.find()
    .or([{ email: req.body.email }, { linkedEmail: req.body.email }])
    .populate('roles')
  // ...
} catch (err) {
  res.status(500).send({ message: err })
}