4

在研究了 MongoDB 文本搜索和关键字索引后,我问了这个问题。我还发现了一个类似的问题,但是向每个包含所有字段值的文档添加一个数组似乎是一个笨拙的解决方案。于是这个问题。

我们需要编写一个查询,该查询将返回任何字段与搜索字符串匹配的文档。

我们的第一个想法是按照以下思路编写查询:

db.collection.find( { field_one: /search string/i, 
                      field_two: /search string/i,
                      field_three: /search string/i } );

我们面临的挑战是文档之间的字段会有所不同,因此我们无法在查询中对字段名称进行硬编码。

MongoDB 可以使用类似于以下伪代码的内容吗?

db.collection.find( { [any field]: /search string/i } );
4

1 回答 1

5

也许这不是您正在寻找的内容,但如果您正在考虑允许此类查询的架构重组,那么这篇文章似乎很有趣:

MongoDB 查询帮助 - 查询子对象中任何键的值

于 2013-11-13T18:18:49.507 回答