场景:要搜索地图集、mongodb复合查询、在图集中创建索引、在api中提到索引参数
问题:从失眠中搜索时,发现索引不被识别的错误请帮助我做错了什么
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([]);
}
};


发布于 2022-06-27 20:42:11
我没有在两个字段上创建两个单独的索引,而是在这两个字段上创建了一个索引。

https://stackoverflow.com/questions/72764032
复制相似问题