具有搜索自动完成索引的猫鼬

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 文档中没有发现任何提及。