Mongodb:在 find() 中使用 $or 时返回匹配的过滤器

Posted

技术标签:

【中文标题】Mongodb:在 find() 中使用 $or 时返回匹配的过滤器【英文标题】:Mongodb: return matched filters when using $or in find() 【发布时间】:2011-10-01 15:39:13 【问题描述】:

假设我正在像这样在 Mongodb 中进行查询

db.user.find($or : ["field1" : "abc", "field2" : "def", "field3" : "ghi"])

并且返回了一些文档。要知道三个过滤器中的哪一个(或多个)与返回的每个文档匹配,最简单的方法是什么?通过“最简单”,我不希望添加更多 find() 的执行。

谢谢。

【问题讨论】:

【参考方案1】:

在 MongoDB 查询层上没有这样的选项来解决这个问题。您可能希望执行单个查询而不是一个大的 $​​or 查询来解决您的问题。

【讨论】:

以上是关于Mongodb:在 find() 中使用 $or 时返回匹配的过滤器的主要内容,如果未能解决你的问题,请参考以下文章

mongodb or操作与连接池

在 mongoose mongodb 中使用 $or 返回文档的一部分

MongoDB高级操作

MongoDB OR与正则表达式不使用复合索引

MongoDB查询操作

MongoDB 学习笔记之 $or与索引关系