【发布时间】:2018-03-29 02:37:24
【问题描述】:
有点菜鸟问题。我在服务器上使用meteor-native-mongo 来访问MongoDB 中的聚合函数,但是,我不确定如何在客户端返回和访问结果。在过去,使用 collection.find({}) 函数订阅然后访问客户端上的集合非常简单,但是,我不明白如何使用聚合函数来做到这一点。有人可以解释一下。
Meteor.publish('companies', function(limit) {
db.collection('companies').aggregate([{ $group: { _id: { location: "$google_maps.geometry_location" }, companies: { $addToSet: { name: "$company_name" } }, count: { $sum: 1} } }, { $match: { count: { $gt: 1 } } }]).toArray((err, result) => {
console.log(result);
return result;
});
});
【问题讨论】:
-
创建一个server-side method,它将执行您的聚合并从客户端调用该方法。
-
啊,好的。这就说得通了。方法和订阅有什么区别。
-
您可以使用服务器方法在服务器端执行处理器密集型任务,并消除向您不想授予访问权限的客户端发送数据。
标签: meteor