Javascript 如何使用findOne方法查询mongoose以查找一件事或另一件事

Javascript 如何使用findOne方法查询mongoose以查找一件事或另一件事,javascript,node.js,mongodb,mongoose,mongoose-schema,Javascript,Node.js,Mongodb,Mongoose,Mongoose Schema,我正在尝试使用mongoose创建一个登录系统来存储数据。简单地说。。。如果一个用户模型同时有email和username字段,并且我想查询数据库,以确定注册的新用户是否与现有用户没有相同的email或username?? 基本上是这样的 const user = await User.findOne({ email: req.body.email || username: req.body.username }) if(user){ return "user a

我正在尝试使用mongoose创建一个登录系统来存储数据。简单地说。。。如果一个用户模型同时有email和username字段,并且我想查询数据库,以确定注册的新用户是否与现有用户没有相同的email或username?? 基本上是这样的

 const user = await User.findOne({ email: req.body.email || username: req.body.username })

      if(user){
        return "user already exists"
      }

因此,基本上我是在问如何才能找到数据库中是否已经存在电子邮件,或者数据库中是否已经存在用户名?
感谢您的帮助:}

您可以使用
$或
运算符,请尝试:

 const user = await User.findOne({ $or: [{ email: req.body.email }, { username: req.body.username }] })

      if(user){
        return "user already exists"
      }

为了你的健康。希望有帮助。

您可以使用
$或
运算符,请尝试:

 const user = await User.findOne({ $or: [{ email: req.body.email }, { username: req.body.username }] })

      if(user){
        return "user already exists"
      }

为了你的健康。希望能有所帮助。

$或在这种情况下可以很好地工作。请检查下面的URL为什么不检查一下电子邮件?一封电子邮件通常是独一无二的,或者在这种情况下可以很好地工作。请检查下面的URL为什么不检查一下电子邮件?电子邮件通常是唯一的