【问题标题】:MongoDB regex groupingMongoDB 正则表达式分组
【发布时间】:2012-03-14 04:39:17
【问题描述】:

我有一个包含一堆文档的集合。我想在一个大字符串对象(未格式化的键/值)中查找并从中提取数据。

是否可以这样使用:

db.apps.find({config: '/\n\n(.*) = (.*)\n\n?/'})

要提取这对值吗?

我正在尝试使用 php 执行此操作,但速度真的很慢。

我怎样才能找到一个干净的方法来解决它?

【问题讨论】:

    标签: regex mongodb


    【解决方案1】:

    如果我正确理解您的问题,不幸的是 mongo 可能无法快速执行此查询。 “查找”命令只会查找“配置”值与该正则表达式匹配的文档,但该查询可能会很慢。即使您在“config”字段上有索引,该索引也只能用于匹配正则表达式的固定前缀(参见此处:http://www.mongodb.org/display/DOCS/Advanced+Queries)。

    至于从字符串中提取数据,您必须在进行查询后在应用程序代码中执行此操作。

    是否可以重新格式化您的数据,以便将键值信息作为键值存储在文档本身中,而不是嵌入到字符串中?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-19
      • 1970-01-01
      • 2016-03-02
      • 2014-01-26
      相关资源
      最近更新 更多