Запрос массива массива в mongoDb

У меня есть этот документ

{ "_id" : ObjectId("53c27ddf6f449b0572e8af95"), "Data" : [ [ { "_id" : 1, "Dados" : "dia:10:#mes:Outubro:#ano:1986:#hora:07:minuto:29:#segundo:16" } ] ] }

Пробовал это

db.data.find({ Data: {$in: {$elemMatch { _id: {$gte: 2}}}}})

и попробовал это

db.data.find({Data: {$elemMatch:{$elemMatch:{$in:[_id: 2]}}}})

никто не работал = \

я хочу найти id = 1

Я надеюсь, что вы, ребята, можете мне помочь, потому что я не знаю, что еще делать. я попробовал этот код по этой ссылке Запрос массива массивов Спасибо за ваше внимание.


person Reno    schedule 13.07.2014    source источник


Ответы (1)


Сделать это можно так:

db.data.find({"Data":{$elemMatch:{$elemMatch:{_id:1}}}})
person dark_shadow    schedule 13.07.2014
comment
Вы можете удалить это. Он также будет работать после удаления. На самом деле это хорошая привычка помещать поля, потому что иногда вы можете использовать вложенные поля, и в этом случае использование поля без поля вызовет ошибку. А пока вы можете удалить его. - person dark_shadow; 13.07.2014
comment
А, понятно, спасибо, я сохраню эту привычку, скажем, я хочу показать все, мне следует использовать db.data.find ({Data: {$ elemMatch: {$ elemMatch: {_ id: {$ gt: 0}) }}}}), Правильно? Есть другой способ? Это мой последний вопрос, большое спасибо dark_shadow - person Reno; 13.07.2014
comment
Что вы имеете в виду под словом «показать все»? Если вы пытаетесь сказать, что хотите, чтобы все документы имели _id ›0, то ваш запрос верен. - person dark_shadow; 13.07.2014
comment
Да, показать все документы, у меня возникла другая проблема, разместить ее здесь или задать другой вопрос? речь идет о нескольких auto_increment. - person Reno; 14.07.2014
comment
Кажется, ваша проблема отличается от существующей. Вы должны создать для него отдельный поток. - person dark_shadow; 14.07.2014
comment
Спасибо за внимание dark_shadow. я ценю это. - person Reno; 14.07.2014
comment
Выстрел для подсказки вложенного свойства. - person Shaun Groenewald; 16.07.2015