我正在使用sails-mongo的风帆,我正在寻找跨集合执行聚合。我想重用水线使用的连接对象,而不是创建一个到mongodb服务器的全新连接。这个连接对象是否可用,它可以执行任何查询类型吗?Sails.js mongodb map reduce
这是基于以下认识:水线/帆目前不能进行聚合。
我正在使用sails-mongo的风帆,我正在寻找跨集合执行聚合。我想重用水线使用的连接对象,而不是创建一个到mongodb服务器的全新连接。这个连接对象是否可用,它可以执行任何查询类型吗?Sails.js mongodb map reduce
这是基于以下认识:水线/帆目前不能进行聚合。
这听起来像你正在寻找.native
方法,该方法返回原始节点mongo
集合实例。这使您可以使用本机Mongo方法。例如,如果你在一个帆模型User
,你会怎么做:
User.native(function(err, userCollection) {
userCollection.aggregate(...)
}
文档的本地节点蒙戈司机是here,包括如何做聚集部分。
.native
方法的文档是on the sailsjs.org。
只需较少的搜索和分享经验,这里是Sails.js MongoDB的聚集工作模板(用于模型用户):
User.native(function(err, collection) {
if (err) return res.serverError(err);
collection.aggregate(
[
//Your matching and grouping here
//{ $match : { country : user.country } },
//{ $group: { _id: "$age", count: { $sum: 1 } } }
], function(err, result){
if (err) return res.serverError(err);
console.log(result);
}
);
);
更多aggreagation:http://docs.mongodb.org/manual/tutorial/aggregation-with-user-preference-data/
代码中缺少**} **,最终的代码应该如下所示:'}) ;});' – aleix
你在哪里找到此信息?除了阅读sails-mongo源代码并专门寻找它之外,我找不到任何对'native'方法的引用 – mrmagooey