4

例如 :

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?

4

2 回答 2

15

如果您不想使用下划线:

var total = 0;

MyCollection.find({name:"test3"}).map(function(doc) {
  total += doc.price;
});
于 2013-04-04T14:36:14.123 回答
2

这是在客户端吗?目前还没有直接支持聚合查询,即使使用聚合查询,minimongo 仍然会以一种或另一种方式进行本地化 map-reduce:

total = _.reduce(_.map(MyCollection.find({name:"test3"}).fetch(), 
                function(doc) {
                  //map
                  return doc.price
                }), 
                function(memo, num){ 
                  //reduce
                  return memo + num;
                });
于 2013-04-04T14:25:02.227 回答