我正在建设我的视频点播网站,我允许通过视频标题,关键字和标签等搜索。
因此,我的问题是,如果用户输入一个人的名字或关键字遗漏,编写我用于mongo的搜索命令,dB将找不到它,所以用户会认为它不存在,而它只是拼写错误。我是这个领域的新手,所以我在努力使用net 3和mongo dB
发布于 2021-04-24 23:26:02
用regex搜索怎么样?您可以通过用户的Id或名称搜索用户(您还可以通过两个不同的字段(如firstName和lastName)进行搜索:
const regexString = `${keyword}`;
const regex = new RegExp(regexString);
const matches = ['firstName', other fields here .. ].map(field => ({
[field]: { $regex: regex, $options: 'i' },
}));
const data = await Users.find(
{
$and: [
{
userId,
},
{ $or: matches },
],
},
);https://stackoverflow.com/questions/67248303
复制相似问题