繁体   English   中英

Mongoose 忽略 find() 中 object 字段的特定值

[英]Mongoose ignore specific value for object field in find()

我正在使用 mongoose 查询 MongoDB 中的用户帐户,它返回具有相同 lastName 和 DOB 的用户数组。

但是它也返回当前用户的帐户,我如何告诉 Mongoose 忽略具有特定 objectId 的帐户?

我需要 Mongoose忽略对象字段_id的 req.body.userId

谢谢

// CHECK FOR DUPLICATE USER ACCOUNT
router.post("/api/verification/check-for-duplicate-user", auth, async 
(req, res) => {

    try {
      const duplicates = await User.find(
        { DOB: req.body.DOB, lastName: req.body.lastName },
        function (err, result) {
          if (err) {
            console.log(`ERROR ${err}`)
          } else {
            console.log(`FOUND DUPLICATES`)
          }
        }
      )

      if (duplicates) {
        return res.send(duplicates)
      }
    } catch (err) {
      res.status(400).send()
    }
  }
)

来自 mongodb 站点:语法:{field: {$ne: value} }

所以你需要这样的东西:

User.find(
    { DOB: req.body.DOB, lastName: req.body.lastName, _id: {$ne: require('mongo').ObjectId(req.body.userId)} }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM