我有两个文件:
应用程序(与显示无关)和扫描:
{
application_id: 'xxx'
}
我想按扫描次数对所有应用程序进行排序。
使用 SQL,我会在以下几行中做一些事情:
SELECT applications.*, COUNT(scans.*) as scans_count FROM applications
LEFT JOIN scans ON scans.application_id = applications.id
GROUP BY applications.id
ORDER BY scans_count
似乎mongo的聚合框架不允许这样做。
一些选项:
映射/减少
不确定这在这里是否相关,map/reduce 有点慢,我需要答案非常快。
在应用程序中嵌入扫描文档
不可能,因为我需要全局访问扫描
在应用程序文档中添加一个字段以跟踪扫描次数
这可以工作,但如果有一天我只想计算一些扫描,取决于条件,问题会再次出现
我对 mongodb 还很陌生,我的问题的最佳解决方案是什么?我的模式是否过于相关?如果是这样,我怎样才能使它变得更好?