Я хочу получить объекты в соответствии с ID, который у них есть в массиве в json-файле в mongodb. Я пробовал много способов, чтобы получить их без успеха:Json array in mongoDB
db.collection.find({"Id":"2"})
db.collection.find({"Messages.Id":"2"})
db.collection.find({"Messages":{$elemMatch:{"Id":"2"}}})
db.collection.find({"Messages.Id":{$elemMatch:{"Id":"2"}}})
{
"Messages" : [
{
"text":"aaa",
"Id" : [ "1", "2" ]
},
{
"texts" : "bbb",
"Id" : [ "1", "3" ]
}
]
}
Несмотря на то, что это, как это должно быть сделано в соответствии с документацией MongoDB. Так что я думал, что что-то не так с моим дизайном json (я пытался изменить его, но это тоже не помогло).
Может ли кто-нибудь предложить мне хороший дизайн или запрос на получение объектов с определенным идентификатором?
UPDATE: Я хочу, например, что, если в запросе я прошу идентификатор 2 только первое сообщение и все это будет отображаться (я не возражаю, если поле Id обыкновение отображаться)
{
"text":"aaa",
"Id":["1","2"]
}
Я обновил этот вопрос – user3061943