SQL в MongoDB запрос
Преобразовать оператор SQL SELECT в вызов MongoDB find() или агрегационный конвейер.
SQL в MongoDB запрос
Вставьте оператор SQL SELECT и этот инструмент преобразует его в эквивалентный MongoDB запрос — либо вызов метода mongosh, который можно запустить в оболочке, либо простой JSON документ запроса для вашего собственного кода драйвера. Он читает предложение WHERE, ORDER BY, LIMIT и OFFSET и преобразует их в MongoDB фильтр, сортировку, limit и skip, поэтому "SELECT id, name FROM users WHERE age > 18 ORDER BY name DESC LIMIT 10" становится готовым к запуску find() с соответствующим фильтром и объектом sort.
Он также понимает агрегацию. COUNT, SUM, AVG, MIN и MAX в списке SELECT в сочетании с GROUP BY создают стадию $group, за которой следует стадия $project, которая переименовывает сгруппированные поля _id обратно в исходные столбцы. JOIN становится стадией $lookup плюс $unwind, когда включена опция "Преобразовать JOIN в $lookup" — отключите её, и join будет удален, с примечанием объясняющим почему. Опция "Преобразовать имена столбцов в camelCase" преобразует столбцы snake_case, такие как first_name, в firstName, соответствуя типичному именованию Mongoose, а отступ вы можете установить сами.
Не каждая конструкция SQL имеет чистый эквивалент MongoDB — подзапросы, UNION, выражения CASE и HAVING не отображаются на один запрос или конвейер. Вместо того чтобы молча создавать неправильный запрос, инструмент выводит понятную ошибку с названием неподдерживаемой конструкции, или для вещей, которые он может обойти (дополнительное JOIN, отброшенное HAVING, несгруппированный столбец SELECT), добавляет краткое комментарий предупреждения выше сгенерированного запроса, объясняющий что изменилось.
Всё работает локально в вашем браузере: SQL анализируется и конвертируется полностью на вашем устройстве, и никакой запрос или схема никогда не покидает его. Скопируйте результат, загрузите его как .txt файл или отправьте обратно в вход для продолжения уточнения исходного запроса.