如何在mongodb中修复组和总和聚合?

时间:2019-03-28 13:02:57

标签: mongodb sum aggregate nodes

我只想使用nodes和mongodb获取7天的总和数据。
Mysql和Oracle很好,但是mongodb并没有显示我想要的结果。

查找条件:

var reference_day = moment().add(-7, 'days').toDate();
var option = {regist_day: {'$lt': reference_day}, 
'$or':[{country:'uk'},{status:'usa'}]}

我不知道如何在mongodb中应用分组或求和, 要花很多时间才能理解。

最后,我了解到“汇总”可以解决我的情况。

但是结果有问题。 我无法获得我认为的数据,但是mongodb丢失了一些数据。

this.aggregate([
{
    $match:option
}, 
{
$sort:{
    regist_day:-1
}
},
{
    $limit:20
},
{
    $skip:20 * (page - 1)
},
{
    $group:{
        _id:'$userid',
        sum: { $sum : '$price'},
        cnt : { $sum : 1}   
    }
}

此实现的正常值存在一些问题,但有时在许多情况下会丢失数据。您认为我做错了什么?

我只是以为我怀疑项目的“ $ or”条件很奇怪,但不清楚。

0 个答案:

没有答案