2012-04-22 5 views
1

몽고 하위 객체를 통해 항목을 요청에 따라 내가 기대몽고 찾는 항목

결과를 항목의 목록을 제한 같은 하위 개체의 일을 정렬하는 방법

{ "_id" : ObjectId("4f93aaddaca610f76b000000"), 
    "count" : NumberLong(2), 
    "items" : [ 
      {"count" : NumberLong(1), 
      "options":{ "1":"track","2" : "track" } }, 

      {"count":NumberLong(2), 
      "options":{"1":"as","2" : "sadf" } } 
      ] 
} 

됩니다 발견
{ "_id" : ObjectId("4f93aaddaca610f76b000000"), 
    "count" : NumberLong(2), 
    "items" : [ 
      {"count" : NumberLong(1), 
      "options":{ "1":"track","2" : "track" } }, 
      ] 
} 

답변

2

아니요, 그렇게 할 수 없습니다. 임베디드 배열을 쿼리하는 것은 현재 거의 제한적입니다. 언젠가 우리는 virtual collections (SERVER-142)을 가질 것이고, 우리는 정렬, 건너 뛰기, 제한 및 다른 모든 일반적인 것들을 할 수있을 것입니다. 하지만 지금은 다음과 같은 옵션이 있습니다 :

  • 전체 하위 배열을 가져 와서 응용 프로그램에서 처리하십시오.

  • 항목을 자신의 컬렉션으로 이동합니다 (포함하는 대신 참조).

  • Aggregation Framework (아직 출시되지 않음);

  • 아이디어를 포기하십시오.

+0

Google에서 자바 스크립트를 작성하여 좁힐 수 있습니까? –

+0

그럴 필요가 없습니다. Javascript는 느리고 싱글 스레드입니다. –

+0

couchdb조차도이 기능이 부족합니까? –