首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Atlas自动完成搜索复合查询:无法识别的索引错误

Atlas自动完成搜索复合查询:无法识别的索引错误
EN

Stack Overflow用户
提问于 2022-06-26 18:04:02
回答 1查看 170关注 0票数 0

场景:要搜索地图集、mongodb复合查询、在图集中创建索引、在api中提到索引参数

问题:从失眠中搜索时,发现索引不被识别的错误请帮助我做错了什么

代码语言:javascript
运行
复制
router.get('/searchuser', userController.userNameCitySearchAutocomplete);

//autocomplete search on user name and city
exports.userNameCitySearchAutocomplete = async function (req, res) {
  try {
    const { userNameCityQueryparam } = req.query;
    console.log("search query param", userNameCityQueryparam);
    const agg = [
      {
        $search: {
          'compound': {
            "should": [{
              //search on user name
             index: "userName",
              autocomplete: {
                query: userNameCityQueryparam,
                path: 'name',
                fuzzy: {
                  maxEdits: 2,
                  prefixLength: 3
                }
              },
              //search on user city
              index: "userCity",
              autocomplete: {
                query: userNameCityQueryparam,
                path: 'city',
                fuzzy: {
                  maxEdits: 2,
                  prefixLength: 3
                }
              },
            }]
          }
        }
      }
    ]
    const response = await User.aggregate(agg);
    return res.json(response);
    // res.send(response);
  } catch (error) {
    console.log("autocomplete search error", error);
    return res.json([]);
  }
};

EN

回答 1

Stack Overflow用户

发布于 2022-06-27 20:42:11

我没有在两个字段上创建两个单独的索引,而是在这两个字段上创建了一个索引。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72764032

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档