2013-10-07 3 views
0

Пусть у меня есть следующие коллекции:Возврат мин и макс свойства поддокументе

{ 
    "title": "foo1", 
    "description: "bar1", 
    "foobars": [ 
     { 
      "title": "foobar1", 
      "time": { 
       "$date": "2013-10-04T19:53:54.714Z" 
      } 
     }, 
     { 
      "title": "foobar2", 
      "time": { 
       "$date": "2013-10-06T19:53:54.714Z" 
      } 
     }, 
    ] 
} 

Как бы я запрос (с использованием Мангуста), чтобы найти минимальное и максимальное time значение для всех foobars для всех документов. Из документации кажется, что-то вроде этого было бы способ сделать это, но это не работает:

FooModel.aggregate({ $group: { _id: null, maxTime: { $max: '$foobars.time' }}}, callback); 
+0

Возможно карта/уменьшить? – freakish

ответ

3

$unwindfoobars перед вами группы:

FooModel.aggregate(
    { $unwind: '$foobars' }, 
    { $group: { _id: null, maxTime: { $max: '$foobars.time' }}}, 
    callback); 
Смежные вопросы