2012-04-22 3 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

Мы можем написать javascript, чтобы сузить его –

+0

Вы не хотите этого делать. Javascript медленный и однопоточный. –

+0

Даже у couchdb не хватает этой функции? –

Смежные вопросы