mongodb - 查找任何字段与搜索字符串匹配的文档

标签 mongodb

<分区>

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

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

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

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 } );

最佳答案

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

MongoDB Query Help - query on values of any key in a sub-object

关于mongodb - 查找任何字段与搜索字符串匹配的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19961119/

相关文章:

oracle - Oracle Data Integrator 有没有办法从 MongoDB 中提取数据

html - 尝试覆盖输入区域中预先填充的数据

c# - 从子文档数组中获取部分模型数组(MongoDB C# 驱动程序)

javascript - 如果我链接 .sort(), Mongoose 查询会失败

MongoDB 从 3.2 转储,使用 3.4 恢复,错误索引安全 = null

node.js - Express js Mongoose 替代 MySQL % 通配符

php - Laravel 5 + MongoDB

node.js - Mongoose是否支持固定队列数组的概念

mongodb - 该字段必须是累加器对象。 (该字段是日期字符串。)

ruby-on-rails - Mongoid "criteria"是如何工作的?