【发布时间】:2021-05-07 00:04:00
【问题描述】:
我想在 MongoDB Atlas 上的集合中的名称字段上自动完成搜索。我在 MongoDB atlas 中配置了一个搜索索引,如下所示:
{
"mappings": {
"dynamic": false,
"fields": {
"name": {
"foldDiacritics": false,
"maxGrams": 8,
"type": "autocomplete"
}
}
}
}
我正在尝试通过猫鼬搜索整个集合中的子字符串,如下所示:
collection.aggregate([
{
$search: {
autocomplete: {
path: 'name',
query: query,
},
},
},
{
$limit: 10,
},
{
$project: {
_id: 0,
name: 1,
},
},
]);
我总是得到 0 个结果,有人能帮我理解我做错了什么吗?
谢谢, 埃雷兹
【问题讨论】:
-
您能否提供您收藏中的文档和您运行的示例查询?
-
感谢您的回复,我终于找到了问题所在。我的索引名称不是“默认”,当默认名称更改时,您应该在搜索中指定索引名称。我已将索引名称更改为“默认”并且可以正常工作!
标签: mongodb mongoose mongodb-query lucene mongodb-atlas-search