首页 > 解决方案 > 如何高效地执行多个 MongoDB 查询,每次都删除搜索参数?

问题描述

假设我想使用参数paramA和执行查询paramB。如果我得到零个结果,那么我只想查询我的数据库paramB,看看我只用一个参数得到了多少结果。

到目前为止,我可以考虑进行两个单独的查询,或者仅paramB在一个查询中查询并手动删除不匹配的结果paramA。两者似乎都效率低下。

标签: mongodbmongodb-query

解决方案


Mongo DB 支持 $OR 和 $AND 运算符,使用它们可以轻松解决此问题。

{
  "$OR": [
    {
      "$AND": [
        {
          "paramA": "abc"
        },
        {
          "paramB": "def"
        }
      ]
    },
    {
      "paramB": "def"
    }
  ]
}

请您试一试。并使用这些作为参考 https://docs.mongodb.com/manual/reference/operator/query/or/ https://docs.mongodb.com/manual/reference/operator/query/and/


推荐阅读