高效处理 MeteorJS 应用中的数据与部署应用
1. 高效处理大量数据
MeteorJS 秉持“数据无处不在”的原则,服务器端使用 MongoDB 存储和引用数据,客户端则有 MiniMongo 以类似 MongoDB 的方式存储数据,且查询方式统一。当应用面临大量数据时,若采用自动发布(autopublish)功能,服务器会将所有可用数据发送到客户端,这可能导致客户端因内存不足而崩溃。
为避免这种情况,应仅向客户端发送必要的数据,并让客户端仅请求所需的数据。可以将数据分页处理,即把数据分割成小块,每次只请求感兴趣的部分。此外,还可指定只订阅所需的字段,而非整个文档。
以下是具体操作步骤:
1. 创建应用 :创建一个名为 PageData 的应用,并移除 autopublish 和 insecure 包。
2. 导入数据 :编写脚本从 CSV 文件导入数据,这里选择使用 NPM 模块的方法。
- 安装 meteorhacks:npm 包,它能让我们在 MeteorJS 应用中使用 NPM 包。
- 在应用根目录创建 package.json 文件,添加以下内容:
{
"csv-parse": "1.0.0",
"stream-transform": "0.1.0"
}
- 在 PageData.js 的服务器块的 Meteor.startup 中添加以下代码: