mongodb - 如何高效地执行多个 MongoDB 查询,每次都删除搜索参数?
问题描述
假设我想使用参数paramA
和执行查询paramB
。如果我得到零个结果,那么我只想查询我的数据库paramB
,看看我只用一个参数得到了多少结果。
到目前为止,我可以考虑进行两个单独的查询,或者仅paramB
在一个查询中查询并手动删除不匹配的结果paramA
。两者似乎都效率低下。
解决方案
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/
推荐阅读
- curl - 如何在 Lambda for Node 12.x (Amazon2) 中获取 curl
- android - 带有滑动手势的运动布局 + SwipeRefreshLayout + RecyclerView 错误向上滚动的错误行为
- python - 使用 OpenCV 将图像元素的大小调整为其他图像上类似对象的大小
- node.js - 在谷歌云上的 nodejs 上使用导入
- plotly - Dash Plotly 中的烛台和折线图,随回调更新,但消失
- java - 我在使用 java 中的扫描仪读取字符串输入时遇到问题
- javascript - 允许在反应元素中的孩子
- python - 使用 Python 获取 json 对象的名称
- java - 如何使用 Java 在字符串中多次转义特定字符
- java - 状态 404,在带有微服务的 SpringBoot 中找不到