水线:水线中的总和/平均/混合/最大填充值

时间:2016-03-01 13:01:46

标签: javascript node.js sails.js waterline sails-mongo

请参阅示例:

用户对象:

{ 
    name: 'Mike',
    age: 16,
    createdAt: Wed Feb 12 2014 18:06:50 GMT-0600 (CST),
    updatedAt: Wed Feb 12 2014 19:30:54 GMT-0600 (CST),
    id: 7 
}

与用户Mike相关联的宠物对象

{
    name: 'Scooby',
    color: 'pink',
    petAge: 2
    id: 1,
    createdAt: Wed Feb 12 2014 18:06:50 GMT-0600 (CST),
    updatedAt: Wed Feb 12 2014 18:06:50 GMT-0600 (CST) 
}

{
    name: 'Alpha',
    color: 'red',
    petAge: 5
    id: 2,
    createdAt: Wed Feb 12 2014 18:16:50 GMT-0600 (CST),
    updatedAt: Wed Feb 12 2014 18:16:50 GMT-0600 (CST) 
}

我想为迈克的宠物得到'petAge'的总和。我正在尝试以下查询,但它没有用。

User.find({name:'Mike'})
.populate('pets')
.sum('pets.petAge')
.exec(function(e,r){

});

我想了解是否可以获得petAge的总和。 (sum('pets.petAge'))。

1 个答案:

答案 0 :(得分:0)

您可以做的是像这样在Pets模型上使用sum函数。

Pets.sum('petAge').where({user: "UserID"}).exec(function (e,r) {
//do what you want here
});

此处的UserID是用户的ID。