2014-01-22 3 views
4

내부 배열을 정렬 :나는 그런 수집 구조를 가지고 유성 수집

{ 
    _id: "JPsqqGJBgpwix5AqM", 
    images: [ 
     { 
      id: 123456, 
      created: Thu Nov 14 2013 22:58:11 GMT+0200 (EET), 
      height: 115, 
      width: 350, 
      url: "http://www.test.com/alckxm.jpg" 
     }, 
     { 
      id: 123456, 
      created: Thu Jan 24 2013 01:46:55 GMT+0200 (EET), 
      height: 115, 
      width: 350, 
      url: "http://www.test.com/awerrkxm.jpg" 
     } 
    ], 
    username: "John" 
}, 
... 

나는 날짜별로 정렬이 컬렉션에서 모든 이미지를 반환하는 것입니다 필요한 것은.

return Users.findOne({username: "John"}, {created: 1}) 
return Users.findOne({username: "John"}, {"images.created": 1}) 
return Users.findOne({username: "John"}, {sort: {created: 1}}) 
return Users.findOne({username: "John"}, {sort: {"images.created": 1}}) 

을하지만,이 중 아무 일하지 :

나는 다음의 모든 시도했습니다.

지금도 할 수 있습니까?

답변

9

정렬은 전체 문서를 정렬하기 위해서만 사용됩니다. findOne을 수행하고 이미지 배열을 별도로 정렬해야합니다. 예 :

var images = Users.findOne({username: "John"}).images; 
return _.sortBy(images, function(image){ return image.created; });