@
MoYi123 内存溢出是 node 的问题好像,我试过查询去年某一段时间的数据,他就查询内存栈溢出了。
@
sagaxu 数据总量很多,每天 86400 条 json 存入,每次查询返回不定期,就是得根据前端传回的时间范围作为查询条件,有时候会查询去年某一段时间的数据,慢的时候主要是等待很久,数据库的每个集合的 timestamp 字段有做索引。查询代码如下:
// 获取 MongoDB 原生数据库连接
const db = mongoose.connection.db;
// 获取指定的集合
const collection = db.collection(collectionName);
// 构建查询条件
const query = {};
const timestampInt = parseInt(timestamp, 10);
query.timestamp = timestampInt;
// 查询数据
const result = await collection.find(query).toArray();
if (result.length <= 0) {
ctx.status = 200;
ctx.body = { message: 'no data', data: [] };
return;
}
@
Oldletter 代码相对来说比较简单,就是传入集合名字,时间范围,就去对应的结合查询,查询代码如上,后端用的 node ,koa 框架,但是我发现 Mongo 的数据迁移不太方便,比如说我要把 a 服务器的某一个库的所有数据转移到 b 服务器的 Mongo 实例中,就不太方便了。