2015-08-20 65 views
1

我想知道如何在角流中使用流星中的mongo db聚合函数。如何使用角度js流星中的mongo db聚合函数?

我加了下面的包:

meteor add meteorhacks:aggregate 
meteor add monbro:mongodb-mapreduce-aggregation 

在角服务,我写了这样的代码,

function getProductDetailsForCompare (skus) { 

      return $meteor.collection(function() { 
       return Products.aggregate([{ $match: {$or: [{"sku":"777160-001"},{"sku":"777161-001"},{"sku":"728350-B21"}]}}, {$group : {_id : "$sku", price : {$min : "$price"}}}]); 
      });    
    }; 

当我运行这段代码,给下面的例外。

TypeError: Products.aggregate is not a function 

我需要做任何额外的设置吗? 我需要在app.js中添加插件吗?

+0

它只适用于“服务器”端。客户端不支持聚合,因为它没有任何意义。 –

+0

有什么办法可以做到这一点? –

+0

在“服务器”上,是的。 –

回答

0

它只适用于服务器端。编写服务器端方法来计算流星中的聚合。

+0

你可以请分享代码如何做到这一点? –

+0

这不是一个真正的“答案”,尤其是因为它只是回应了在你提出此事之前5分钟发表的评论。当你有足够的声誉时,你也可以评论。这不是必需的。 –

+0

如果(Meteor.isServer){ Meteor.methods({ getRecord:函数(){// 在这里写下你的代码 } }) 调用这个函数在客户端通过使用Meteor.call(“getRecord “); 如果你的函数有参数然后通过参数,而调用函数提到它作为 Meteor.call(“getRecord”,argument1,argument2) – Shrinath