MySQL запрос с операцией соединения перевести на MongoDB - PullRequest
0 голосов
/ 05 мая 2018

Мне нужно преобразовать следующий запрос MySQL в монго. Любая помощь будет высоко оценена.

SELECT f.Datetime, c.Air Temperature(Celcius),f.Surface Temperature(Celcius) FROM firedata f JOIN climatedata c ON f.Date = c.Date where f.Confidence > 80 and f.Confidence < 100;

1 Ответ

0 голосов
/ 05 мая 2018

В MongoDB объединенные данные будут либо вложены в отдельные документы (в этом случае объединение не понадобится), либо будут находиться в разных документах, и вашей лучшей ставкой будет структура агрегации, в частности этап конвейерного поиска .

Не зная больше деталей о любой реализации, это будет что-то вроде:

fireDataCollection.aggregate([
    { 
       $match: {
          $and: [
            { "Confidence": { $gt: 80 } },
            { "Confidence": { $lt: 100 } }
          ]
       }           
    },
    {
       $lookup: {
          from: "climateDataCollection",
          localField: "Date",
          foreignField: "Date",
          as: "Climate"
       }
    },
    {
      $unwind: "$Climate"
    }
])

Шаг $ unwind является необязательным и превращает поле «Климат» (которое после поиска будет представлять собой коллекцию каждого Климата, совпадающего с датой из заданных данных) в несколько документов, каждый из которых содержит только один вложенный документ «Климат»

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