我有一个名为people
的收藏集,该收藏集几乎有 100k documents
..
虽然我是前端开发人员,但我不知道如何提高搜索性能。
我的搜索如下:
const phoneNumbers = [
{ "phone": { "$regex": `1` } },
{ "phone": { "$regex": `2` } },
{ "phone": { "$regex": `3` } },
{ "phone": { "$regex": `4` } },
{ "phone": { "$regex": `5` } },
{ "phone": { "$regex": `xxx` } },
{ "phone": { "$regex": `999` } },
{ "phone": { "$regex": `1000` } },
];
peopleCollection.find({$or: phoneNumbers}).toArray((error, matchedDocs)=> {
// returning matched docs
});
您可以看到我的搜索结构,您对创建index
有何建议?
创建索引是否有帮助? 如果是,我如何创建适当的索引?
答案 0 :(得分:0)
建立索引不会降低搜索表达式的复杂度,而是可以帮助数据库更快地找到匹配结果(即降低时间复杂度)。
以下是创建索引的方法:
db.collectionName.createIndex(key_name)
上述单行操作会在键键名上创建索引。