首页 > 解决方案 > 如何更快地从 MongoDB 集合中获取大量文档?

问题描述

我的收藏有 1000 多条记录。我有一个颤振应用程序,它从 Heroku API 获取数据,后端基于 NodeJs。在获取时,它根据某个“空缺”字段的数量以降序对整个集合进行排序。获取该数据需要将近 15 秒。我真的不认为 1000 个文档是很多数据,那么解决这个问题的最佳方法是什么?

更新1:这是我获取数据的代码,我根据“空缺”字段进行排序。

更新 2:我在 Heroku 上的区域设置在美国,这就是响应时间出现巨大延迟的原因。转移到 AWS 与我附近的服务器,响应现在以毫秒为单位。

const dataSchema = new mongoose.Schema({
  District: String,
  Name: String,
  Vacant: Number,
  Address: String,
  PhoneNumber: String
})

app.get('/:state', (req, res) => {
  const State = mongoose.model(req.params.state, dataSchema)

  State.find().sort([['Vacant', -1]]).exec((err, foundData) => {
    if (err) {
      console.log(err)
    } else {
      res.send(foundData)
    }
  })
})

标签: node.jsmongodbapiflutterheroku

解决方案


推荐阅读