首页 > 解决方案 > Mongdb 查询不同文档中的多个值

问题描述

如何在一个集合中查询多个值?

const user = db.collection('users').findOne({ username: 'john' })
const user = db.collection('users').findOne({ email: 'mail@gmail.com' })

下面是一些虚拟数据。我希望可以在一行代码中查询姓名 john 和电子邮件文档。

[{id:1, username: 'john', email: 'john@mail.com'},{id:2, username: 'kelvin', email: 'mail@gmail.com'}, {id:3, username: 'angle', email: 'angle@gmail.com'}]

返回数据是:只有 id:1 和 2。因为它们与查询匹配

    [{id:1, username: 'john', email: 'john@mail.com'},{id:2, username: 'kelvin', email: 'mail@gmail.com'}]

标签: mongodb

解决方案


您可以通过$or这种方式使用运算符:

db.collection.find({
  "$or": [
    {
      "username": "john"
    },
    {
      email: "mail@gmail.com"
    }
  ]
})

因此,您将找到与username或匹配的文档email

示例在这里


推荐阅读