R - Mongolite - фильтровать запрос по массиву - PullRequest
0 голосов
/ 14 мая 2019

У меня есть следующий документ на монго. Я хочу запросить его, используя mongolite в R. Я хочу отфильтровать документ на основе _id и получить только количество, основанное на заданной дате start_date & end_date.

{ 
        "_id" : "Med", 
        "name" : "Mediation", 
        "num_id" : NumberInt(2874884), 
        "volume" : [
            {
                "date" : ISODate("2016-01-04T08:00:00.000+0000"), 
                "count" : NumberInt(127488)
            }, 
            {
                "date" : ISODate("2016-01-11T08:00:00.000+0000"), 
                "count" : NumberInt(118129)
            }, 
            {
                "date" : ISODate("2016-01-18T08:00:00.000+0000"), 
                "count" : NumberInt(108557)
            }, 
            {
                "date" : ISODate("2016-01-25T08:00:00.000+0000"), 
                "count" : NumberInt(113277)
            }, 
            {
                "date" : ISODate("2016-02-01T08:00:00.000+0000"), 
                "count" : NumberInt(111825)
            }
        ]
    }

Это запрос, который я пытаюсь:

query_str <- paste0('{\"_id": \"', group, '\", "volume.$[date]":{"$lte": { "$date" : { "$numberLong" : "', end_date, '" } }, "$gte": { "$date" : { "$numberLong" : "', start_date, '" } } }}') 
  res <- connection$find(query = query_str)

Он не извлекает никаких результатов и не дает никаких ошибок. Я уверен, что есть какая-то опечатка или небольшая ошибка, но я не могу ее отладить. Я работаю над этим и обновляю, если получаю правильный результат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...