Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sails.js mongodb map reduce_Mongodb_Sails.js_Waterline - Fatal编程技术网

Sails.js mongodb map reduce

Sails.js mongodb map reduce,mongodb,sails.js,waterline,Mongodb,Sails.js,Waterline,我将sails与sails mongo一起使用,我希望在一个集合中执行聚合。我希望重用waterline使用的connection对象,而不是创建到mongodb服务器的全新连接。这个连接对象在什么地方可用吗?它可以执行任何查询类型吗 这是基于对waterline/sails当前无法进行聚合的理解而得出的结论。听起来像是在寻找.native方法,该方法返回原始节点mongo集合实例。这允许您使用本机Mongo方法。例如,如果您在Sails中创建了一个用户模型,您将执行以下操作: User.nat

我将sails与sails mongo一起使用,我希望在一个集合中执行聚合。我希望重用waterline使用的connection对象,而不是创建到mongodb服务器的全新连接。这个连接对象在什么地方可用吗?它可以执行任何查询类型吗


这是基于对waterline/sails当前无法进行聚合的理解而得出的结论。

听起来像是在寻找
.native
方法,该方法返回原始节点
mongo
集合实例。这允许您使用本机Mongo方法。例如,如果您在Sails中创建了一个
用户
模型,您将执行以下操作:

User.native(function(err, userCollection) {

    userCollection.aggregate(...)

}
本机节点Mongo驱动程序的文档如下所示,包括关于如何进行聚合的部分


.native
方法的文档是。

为了减少搜索和分享经验,这里有一个用于Sails.js中mongodb聚合的工作模板(适用于模型用户):


关于聚集的更多信息:

您在哪里找到这些信息?除了阅读sails mongo源代码并专门查找它之外,我找不到任何对
本机
方法的引用,您的代码中缺少一个},最后一个应该是这样的:
};})很乐意帮忙:D
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);
         }
    );
});