首页 > 解决方案 > 如何使用 findOne 方法查询 mongoose 以查找一件事或另一件事

问题描述

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

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

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

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

标签: javascriptnode.jsmongodbmongoosemongoose-schema

解决方案


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

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

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

供您参考。希望能帮助到你。


推荐阅读