例如:
Object {_id: "9g9ySxozSWn1", name: "test1", price: 1}
Object {_id: "9g9ySxozSWn2", name: "test2", price: 2}
Object {_id: "9g9ySxozSWn3", name: "test3", price: 3}
Object {_id: "9g9ySxozSWn4", name: "test3", price: 6}
Object {_id: "9g9ySxozSWn5", name: "test3", price: 3}
总结所有价格的最佳方法是什么,例如名称是test3?
答案 0 :(得分:15)
如果您不想使用下划线:
var total = 0;
MyCollection.find({name:"test3"}).map(function(doc) {
total += doc.price;
});
答案 1 :(得分:2)
这是客户端吗?目前尚未直接支持聚合查询,即使使用聚合查询,最小化仍会以某种方式进行本地化地图缩减:
total = _.reduce(_.map(MyCollection.find({name:"test3"}).fetch(),
function(doc) {
//map
return doc.price
}),
function(memo, num){
//reduce
return memo + num;
});