Запрос MongoDB для получения одного встроенного документа, который является элементом массива - PullRequest
1 голос
/ 26 марта 2020

Добрый день! Я сталкиваюсь с проблемой получения в результате запроса только одного из нескольких вложенных документов. Это касается коллекции документов по обменному курсу, по одному на валюту. USD показан ниже. Каждый валютный документ содержит несколько точек данных (документы, которые являются элементами списка курсов). Цель состоит в том, чтобы получить, например, «все пары ключ / значение встроенного документа, имеющие самое последнее значение EuroRate типа« Бизнес »в отношении валюты« USD ». В этом случае из приведенного ниже примера я хотел бы получить полное встроенный документ, имеющий _id: ObjectId ("5e6ad7e060d2b6ccb5be2992"). Какова будет инструкция запроса для этого? Примечание: в конечном счете, я буду реализовывать запрос через Phython.

{
    _id: ObjectId("5e6ad7cb60d2b6ccb5be2908"),
    Currency:"USD",
    Rate:[
        {
            _id: ObjectId("5e6ad7cb60d2b6ccb5be2907")
            EuroRate: 0.854847},
            Type:"Business",
            SourceDate: 2019-01-01T00:00:00.000+00:00,
            DataSource:"X-Book"
        },    
        {
            _id: ObjectId("5e6ad7e060d2b6ccb5be2992")
            EuroRate: 0.854847,
            Type:"Business",
            SourceDate: 2020-01-01T00:00:00.000+00:00,
            DataSource:"X-Book"
        }
    ]
}
...