这可能是一个愚蠢的问题,但我已经绝望了!我需要做这个查询:
db.clients.aggregate(
{
$group: {
_id: '$enterprise',
lodging_days: { $sum: '$lodging_days' }
}
},
{
$sort : {
lodging_days: -1
}
})
而且,如果我在mongo bash上复制这个,我就回复了: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);
}
);
});
这会“忽略”$ sort并将此返回给我:Interface Return
现在,我的问题是......为什么!?我能做些什么来解决它?
答案 0 :(得分:1)
您需要将管道包装到数组中。
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);
}
);
});