我有2种架构,如下所示:
MachinesSchema = {
name: String
});
RecordsSchema = {
machine_id: Number,
count: Number,
timestamp: Date,
});
我有一个链接这两个表的外键:
machines._id = records.machine_id
我希望执行联接,以便以以下格式获取结果:
[{ machine_id: machines._id, name: machines_name, coins: sum(records.count)}, ...]
我成功地单独使用了 Aggregate()。但是似乎无法将结果组合到单个管道中。
这里是$ lookup,$ group:
$lookup: {
from: 'machines', // collection name in db
localField: 'machine_id',
foreignField: '_id',
as: 'name',
},
$group: {
_id: '$machine_id',
coins: {
$sum: '$count',
},
}
此查询/管道甚至可能吗?还是有一种更简单的方法?