GH-database
Около 3 месяцев назад я уже писал статью про это приложение, тогда это были еще первые наброски без четкой структуры и с крайне ограниченным функционалом. У приложения было всего 7 методов. Что ж в сегодняшнем релизе их уже 28.
С тех пор функционал сильно расширился, теперь в приложении есть методы для работы с файлами и папками, что собственно говоря было и тогда, но появилась возможность использования его как полноценной базы данных, создание коллекций и реализации CRUD. А также были добавлены методы для хранение файлов без обработки, что то вроде storage.
Сразу оговорюсь, что данная статья является лишь обзором, но не как не документацией. Так если надумаете попробовать приложение вам все же придется ее почитать.
Теперь более детально.
За основу приложения был взят npm модуль fs. Так что если приложение вернуло вам ошибку, то то что было в блоке error нужно гуглить в контексте модуля fs, а не Gh-database или ghc-db.
Приложение написано на nodejs, то бишь это обычный сервер к которому можно обращаться посредством POST запросов. Подробнее о них можно почитать в документации: https://github.com/GreenHouseControllers/GH-database
Для удобной работой с приложением был написан npm модуль - ghc-db. Думаю не стоит останавливаться на том что такое npm модули, как их устанавливать и так далие.
Прежде чем работать с приложением нужно сделать коннект с ним. Для этого есть метод connect, в него вы должны передать токен. Токен вы задаете в файле config в файлах Gh-database. Подробнее об этом читайте в документации.
Для работы с файлами есть:
createDir/removeDir - для создания/удаления папок и createFile/removeFile - соответственно для файлов.
readFile/writeFile - для чтения/записи файлов.
rename - для переименования файлов и папок.
Для работы с файлами имеющими расширение .json, есть отдельный набор методов
readJson/writeJson - для чтения записи файлов.
getElement - возвращает ответ по ключу.
pushElement/deleteElement - для добавления и удаления элемента в массиве.
Немного о функционале базы данных
Для создание и удаления коллекций используются методы createCollection и removeCollection соответственно.
Имеются методы для CRUD, по аналогии с MongoDB, но метод read возвращает всю коллекцию. Для получения одного объекта по параметрам есть метод get.
Так же вы можете переименовывать коллекцию с помощью метода renameCollection
Функционал файлового хранилища реализован в трех методах:
upload - для загрузки файлов
remove - для удаления файлов
download - для скачивания файлов
Обращение к файлам происходит по тому имени с которым он был загружен.
Для того чтобы получить токен, можно воспользоваться методом login. Но чтобы создать пользователя нужно использовать метод register, для которого уже нужен токен.
Также среди методов админа есть метод getErrorLog, который возвращает полный массив объектов с ошибками в формате json.
Данная версия еще все же сырая. Но я рад буду если вы заинтересуетесь данным приложением. Жду конструктивной критики, предложений, переделок, багов.
Будем рады если вы напишите простые примеры с использованием приложения и модуля ghc-db. Присылайте их в комментариях к статье и в телеграм, Вы можете перейти в группу в телеграмме где можете высказать свое мнение, предложить собственные идеи, поделится чем то новым. Сообщения касательно Gh-database присылайте с #ghDb в начале сообщения.
Ссылка на группу: https://t.me/joinchat/LvAn_FR2r9crJGKqP_aYYA