User.findOne({
_id: decoded._id,
'tokens.token': token,
'tokens.access': 'auth'
})
.populate({
path: 'locations',
select: 'role data -_id',
populate: [{
path: 'role',
select: 'name type -_id'
},{
path: 'data',
select: 'name devices _id',
populate: {
path: 'devices',
select: 'AAAA deviceName scenario screenId isVisible state weather APKN BPKN warrantyDate -_id',
populate: [
{
path: 'weather',
select: 'main description icon temp pressure humidity tempMin tempMax windSpeed windDeg updatedAt -_id',
},
{
path: 'state',
select: 'AFHK WMOX AAAK APKN BPKN -_id',
options: {
sort: {
'createdAt': -1,
}
}
}]
}
}]
})
嗨,大家好,此查询的响应时间约为3000-4000毫秒。但是,当我删除设备->状态填充(最后填充的项目)时,响应时间下降到200-300ms。 States表有5万行,每2分钟更新一次。有没有其他方法可以更快地获得响应?