在mongoose中聚合文档中的数组

时间:2017-03-25 15:15:35

标签: node.js mongoose aggregate

我有一个投票应用程序,我有一个猫鼬计划如下:

var optionSchema=new mongoose.Schema({
    option:{type:String,required:true},
    count:{type:Number,required:true}
});

var pollSchema = new mongoose.Schema({
    creator:{type:String,required:true},
    title:{type:String,required:true},
    options:[optionSchema]
});

我试图弄清楚我是否可以通过节点中每个文档的所有选项的总计数来提取前X个文档

1 个答案:

答案 0 :(得分:0)

尝试这样的事情:

db.polls.aggregate([
    {
         $project: {
            totalOptionCount: { $sum: "$options.count"}
        },
    },
    { $sort : { totalOptionCount : 1 }},
    { $limit : 5 }
])