具有搜索自动完成索引的猫鼬
Mongoose with search autocomplete index
我想在 MongoDB Atlas 上 collection 的名称字段中进行自动完成搜索。我在 MongoDB atlas 中配置了一个搜索索引,如下所示:
{
"mappings": {
"dynamic": false,
"fields": {
"name": {
"foldDiacritics": false,
"maxGrams": 8,
"type": "autocomplete"
}
}
}
}
我正在尝试通过 mongoose 在整个 collection 中搜索子字符串,如下所示:
collection.aggregate([
{
$search: {
autocomplete: {
path: 'name',
query: query,
},
},
},
{
$limit: 10,
},
{
$project: {
_id: 0,
name: 1,
},
},
]);
我总是得到 0 个结果,有谁能帮助我了解我做错了什么吗?
谢谢,
埃雷兹
问题是我更改了默认索引名称(即 'default'),在这种情况下,我需要在查询中指定新索引名称或更改要命名的索引 'default'。不过在 MongoDB 文档中没有发现任何提及。
我想在 MongoDB Atlas 上 collection 的名称字段中进行自动完成搜索。我在 MongoDB atlas 中配置了一个搜索索引,如下所示:
{
"mappings": {
"dynamic": false,
"fields": {
"name": {
"foldDiacritics": false,
"maxGrams": 8,
"type": "autocomplete"
}
}
}
}
我正在尝试通过 mongoose 在整个 collection 中搜索子字符串,如下所示:
collection.aggregate([
{
$search: {
autocomplete: {
path: 'name',
query: query,
},
},
},
{
$limit: 10,
},
{
$project: {
_id: 0,
name: 1,
},
},
]);
我总是得到 0 个结果,有谁能帮助我了解我做错了什么吗?
谢谢, 埃雷兹
问题是我更改了默认索引名称(即 'default'),在这种情况下,我需要在查询中指定新索引名称或更改要命名的索引 'default'。不过在 MongoDB 文档中没有发现任何提及。