node.js - 如何更快地从 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)
}
})
})
解决方案
推荐阅读
- react-native - 无法在 Android 中使用 React Native Video DRM Fork 播放 DRM 视频
- matlab - 解压缩存档后批处理文件崩溃
- flutter - 在导航抽屉flutter fire store的用户帐户抽屉中获取当前用户名和电子邮件
- r - 如何使用 useShinydashboard()?
- apache-kafka - Kafka 多消费者应用程序
- hibernate - 从 Jasper 报告所需的子实体类中选择字段的 HQL 查询
- sql - SQL - Index not being used for both IN and ORDER BY?
- amazon-web-services - CloudFormation 中的子网 ID
- javascript - 如何在 JavaScript 对象中添加新的键值对
- node.js - 如何从 Postgres 的 QueryResult 数组中提取行