【问题标题】:How can I create an index show all fields using regex如何使用正则表达式创建索引显示所有字段
【发布时间】:2019-12-20 23:04:28
【问题描述】:

我想在 mongodb 中创建一个索引来显示 value = xyz 的所有字段

我是索引新手。有没有办法做到这一点?

我可以这样做吗:

browser: /^Amazon /i处创建索引

抱歉,我知道这个问题含糊不清,但还不确定如何使用索引。

【问题讨论】:

    标签: regex mongodb indexing pymongo wildcard


    【解决方案1】:

    如果您为browser 字段创建索引,那么是的,它会在您搜索browser: /^Amazon/ 或类似字段时为您提供帮助。请记住,仅当正则表达式以 ^ 开头并在其后包含一些静态文本时才使用索引(如您的示例中的 /^Amazon/)。

    假设您的集合名为myCollection(请将其重命名为您自己的!)然后您可以通过以下方式创建索引:

    db.myCollection.createIndex({ browser: 1 })
    

    您可以将索引视为字典。如果我让你打开一些字典(我的意思是真正的纸质书,语言字典)并在那里找到所有以“Amaz”开头的单词(如/^Amaz/),那么你可以快速完成。相反,如果我要求您找到所有以“Amaz”结尾的单词(/Amaz$/),或者在中间包含“Amaz”(/Amaz/),您将需要很长时间,因为您必须经过字典中的所有单词并检查它。 Mongo 的工作方式类似:)

    【讨论】:

      猜你喜欢
      • 2011-12-27
      • 2013-03-24
      • 2011-10-05
      • 2017-06-15
      • 2019-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多