如何使用正则表达式创建索引显示所有字段
How can I create an index show all fields using regex
我想在 mongodb 中创建索引以显示 value = xyz
中的所有字段
我是索引新手。有办法吗?
我可以做类似的事情吗:
在 browser: /^Amazon /i
处创建索引
抱歉,我知道这个问题有歧义,但还不确定如何使用索引。
如果您为 browser
字段创建索引,那么是的,它会在您搜索 browser: /^Amazon/
或类似内容时帮助您。请记住,仅当正则表达式以 ^
开头并在其后包含一些静态文本时才使用索引 (如您的示例 /^Amazon/
)。
假设您的集合名为 myCollection
(请将其重命名为您自己的!)然后您可以按以下方式创建索引:
db.myCollection.createIndex({ browser: 1 })
您可以将索引视为字典。如果我让你打开一些字典(我的意思是真正的纸质书,语言字典)并找到所有以 "Amaz" 开头的单词(比如 /^Amaz/
),那么你可以很快完成。相反,如果我让你找到所有以 "Amaz" 结尾的单词(/Amaz$/
),或者中间包含 "Amaz" 的单词(/Amaz/
),你会花费很长时间,因为你必须检查字典中的所有单词并进行检查。 Mongo 的工作方式类似 :)
我想在 mongodb 中创建索引以显示 value = xyz
我是索引新手。有办法吗?
我可以做类似的事情吗:
在 browser: /^Amazon /i
抱歉,我知道这个问题有歧义,但还不确定如何使用索引。
如果您为 browser
字段创建索引,那么是的,它会在您搜索 browser: /^Amazon/
或类似内容时帮助您。请记住,仅当正则表达式以 ^
开头并在其后包含一些静态文本时才使用索引 (如您的示例 /^Amazon/
)。
假设您的集合名为 myCollection
(请将其重命名为您自己的!)然后您可以按以下方式创建索引:
db.myCollection.createIndex({ browser: 1 })
您可以将索引视为字典。如果我让你打开一些字典(我的意思是真正的纸质书,语言字典)并找到所有以 "Amaz" 开头的单词(比如 /^Amaz/
),那么你可以很快完成。相反,如果我让你找到所有以 "Amaz" 结尾的单词(/Amaz$/
),或者中间包含 "Amaz" 的单词(/Amaz/
),你会花费很长时间,因为你必须检查字典中的所有单词并进行检查。 Mongo 的工作方式类似 :)