在包含数百万条记录的数据库(mongoDB)中搜索数据需要1分钟以上的时间



我使用的是node js,在搜索字段时,需要1分钟或更长的时间才能取回数据。有什么解决方案可以提高性能并加快

这是我的代码:

router.get('/employee', (req,res) => {
let searchQuery = {name: req.query.name};
Employee.findOne(searchQuery)
.then(employee => {
res.render('search',{employee:employee});

})
.catch(err => {
req.flash('error_msg', 'ERROR: '+err)
res.redirect('/');
})
}); 

架构:

const mongoose = require('mongoose');
let employeeScheme = new mongoose.Schema({
name: String,
postion: String,
salary: String
});
module.exports = mongoose.model('Employee', employeeScheme);
是的。您可以为通常搜索的字段创建索引。

示例:

employeeScheme.index({ name: 1, type: 1 })

阅读文档以选择最适合您的索引类型。https://mongoosejs.com/docs/guide.html#indexes

最新更新