【发布时间】:2021-01-26 10:26:45
【问题描述】:
我的 Mongo DB 数据库中有两个集合。一般来说,我对 Mongo DB 还是很陌生。我的每个集合都说现在有 1 个索引来自 Laravel 和 SQL 数据库,我可以通过在我的列迁移中添加带有 ->index() 的索引来提高性能,我认为有一种方法可以为我的Mongo DB 文档和键/值字段。
我有两个收藏:
- data_source_one(文档数:5,300,文档总大小:1.2 MB)
- data_source_two(文档数:6,800,文档总大小:139.8 MB)
我使用$lookup (aggregation) 有效地基于一个公共字段对我的两个表进行连接,但与传统的 SQL 数据库不同,完成请求需要 25 秒以上 .
我想知道如何通过将每个集合中的所有文档的索引添加到我的 created_at 键(自定义)和其他字段来从根本上提高性能?
const client = new MongoClient(process.env.DB_CONNECTION)
await client.connect()
const results = await client.db().collection('data_source_one').aggregate([{
$lookup: {
from: 'data_source_two',
localField: 'created_at',
foreignField: 'created_at',
as: 'combined_results'
}
}]).toArray();
【问题讨论】:
标签: javascript mongodb