【发布时间】:2019-12-20 23:04:28
【问题描述】:
我想在 mongodb 中创建一个索引来显示 value = xyz 的所有字段
我是索引新手。有没有办法做到这一点?
我可以这样做吗:
在browser: /^Amazon /i处创建索引
抱歉,我知道这个问题含糊不清,但还不确定如何使用索引。
【问题讨论】:
标签: regex mongodb indexing pymongo wildcard
我想在 mongodb 中创建一个索引来显示 value = xyz 的所有字段
我是索引新手。有没有办法做到这一点?
我可以这样做吗:
在browser: /^Amazon /i处创建索引
抱歉,我知道这个问题含糊不清,但还不确定如何使用索引。
【问题讨论】:
标签: regex mongodb indexing pymongo wildcard
如果您为browser 字段创建索引,那么是的,它会在您搜索browser: /^Amazon/ 或类似字段时为您提供帮助。请记住,仅当正则表达式以 ^ 开头并在其后包含一些静态文本时才使用索引(如您的示例中的 /^Amazon/)。
假设您的集合名为myCollection(请将其重命名为您自己的!)然后您可以通过以下方式创建索引:
db.myCollection.createIndex({ browser: 1 })
您可以将索引视为字典。如果我让你打开一些字典(我的意思是真正的纸质书,语言字典)并在那里找到所有以“Amaz”开头的单词(如/^Amaz/),那么你可以快速完成。相反,如果我要求您找到所有以“Amaz”结尾的单词(/Amaz$/),或者在中间包含“Amaz”(/Amaz/),您将需要很长时间,因为您必须经过字典中的所有单词并检查它。 Mongo 的工作方式类似:)
【讨论】: