【发布时间】:2021-09-06 08:21:53
【问题描述】:
我有一个包含这样的文档的集合:
{
"_id":{
"$oid":"60c5316cbc885e00c6e5abeb"
},
"name":"<name>",
"addedAt":{
"date":{
"$date":"2021-06-12T22:13:00.316Z"
},
"timestamp":1623535980.316648
},
"lastUsed":{
"date":{
"$date":"2021-06-22T14:17:23.339Z"
},
"timestamp":1624371443.339323
},
"connStr":"http://<user>:<pwd>@<host>:<port>",
"resetIpUri":"http://<host>:<port>/api/changeIP?apiToken=<token>",
"lastResetIP":1623535980.316648
}
还有非常简单的查询:
db.collection.find({connStr: <connStr>})
db.collection.find({}).sort({"lastUsed.timestamp": 1})
但我不太确定是否需要为字段conStr 使用文本索引,还是使用常规索引?我不明白文本索引是如何工作的,当我有任务通过其值查找文档时是否总是需要使用它们,如果是,我应该对整数或浮点字段使用文本索引吗?
【问题讨论】:
-
您可以使用正常的升序或降序类型索引而不是测试索引,如果您要进行正常的匹配和排序操作,它应该可以正常工作。
db.collection.createIndex({connStr: 1})。如果您有其他疑问,请告诉我。 -
@hhharsha36 但是文本索引呢?我什么时候应该真正使用它们?例如,在我的文档中,如果此字段是文本索引,我的值为“A2131BBVYFTL212”,那么全文搜索是否会更快?
-
我已经添加了一个答案,因为 cmets 有一个字数。希望对您有所帮助。
-
您是否将密码以明文形式存储在数据库中?
标签: mongodb