MongoDB все еще находится на ранней стадии разработки инструментов пользовательского интерфейса. На веб-сайте MongoDB перечислено несколько инструментов интерфейса администратора . В список включены phpMoAdmin и RockMongo , которые написаны на PHP. JMongoBrowser написан одним из сопровождающих java-драйверов 10gen, а также имеет несколько основных функций просмотра / администрирования.
Однако ни один из них на самом деле не имеет «Query Builder» UI. Вы должны знать, какие поля находятся в БД, и в основном вводить запросы, используя синтаксис javascript.
Это все еще большая дыра в мире MongoDB, однако она также отличается от существующего "Query Builders" . Если вы посмотрите на язык запросов MongoDB, вы быстро увидите несколько основных проблем:
- MongoDB не имеет «фиксированных столбцов».
- MongoDB не имеет синтаксиса соединения.
- Структура документов MongoDB может варьироваться в пределах коллекции.
Итак, у вас много проблем:
- Как узнать, какие поля могут быть запрошены? Я действительно собираюсь зациклить более 5 миллиардов документов, чтобы найти доступные поля?
- Как мне запрашивать динамически именованные подобъекты? Вложенные подобъекты?
- Как запросить массивы объектов?
- А как насчет массивов объектов, которые содержат больше массивов объектов? ( обратите внимание, что MongoDB плох для этого, независимо от инструментов )
- Как мне даже назвать все эти подполя?
- Как отобразить эти данные? В настоящее время большинство инструментов предлагают как представление в виде столбца, так и представление в формате JSON, но здесь явно больше возможностей.
В конце концов, любой разумный «построитель запросов» должен знать что-то о вашей схеме заранее, что определенно вызывает много проблем. Если вы найдете что-то, что справится с этим, пожалуйста, дайте мне знать, хотелось бы увидеть такой инструмент.