NodeJS +猫鼬人口表现问题

时间:2018-12-12 12:20:38

标签: node.js mongoose mongoose-populate

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分钟更新一次。有没有其他方法可以更快地获得响应?

0 个答案:

没有答案