这可能是一个愚蠢的问题,但我已经绝望了!我需要做的这个查询:
db.clients.aggregate(
{
$group: {
_id: '$enterprise',
lodging_days: { $sum: '$lodging_days' }
}
},
{
$sort : {
lodging_days: -1
}
})
而且,如果我复制此上蒙戈庆典,我又回到这一点:Bash Return (对不起,我不能上传图片还)
就像我想要的!
但是,当我把查询节点:
router.get('/query', function(req, res){
var db = req.db;
var clients=db.get('clients');
clients.aggregate(
{
$group: {
_id: '$enterprise',
lodging_days: { $sum: '$lodging_days' }
}
},
{
$sort: {
'lodging_days': -1
}
},
function(e, data){
res.json(data);
}
);
});
这种“忽略”了$排序,并返回我:Interface Return
现在,我的问题是...为什么!?我能做些什么来解决它?
尝试将您的管道封装到数组中。 'db.collection.aggregate([{},...])' –
你调用'aggregate'的方式并不符合API说你应该调用它的方式。 http://mongodb.github.io/node-mongodb-native/2.2/api/Collection.html#aggregate –
从你的链接: //执行聚合,注意管道表示为一个数组 'collection.aggregate ([])' 我的意思是你需要做下一个'clients.aggregate([你的代码与组,排序和函数]);' –