СУБД JavaScript с API, вдохновленным CouchDB
PouchDB - это API клиентской базы данных с открытым исходным кодом, написанный на JavaScript. Он создан по образцу CouchDB - базы данных NoSQL, работающей в браузере.
Если вы не знакомы с базами данных NoSQL, позвольте мне дать вам краткое введение. NoSQL - это термин, используемый для высокопроизводительных нереляционных баз данных. Он предоставляет механизм для хранения и извлечения данных, отличный от модели табличных отношений, используемой в реляционных базах данных. В этих базах данных используются различные модели данных, включая хранилище документов, графиков, ключей и значений и столбцов. Ознакомьтесь со списком баз данных NoSQL здесь.
Используя PouchDB API, мы можем создавать приложения, которые работают офлайн и онлайн. Он внутренне использует WebSQL и IndexedDB для хранения данных. Он не зависит от фреймворка, поэтому вы можете использовать его с Angular, React, Ember, Backbone или с вашим фреймворком.
PouchDB поддерживает все современные браузеры. Некоторые из них - Firefox 29+, Chrome 30+, Safari 5+, Internet Explorer 10+, Opera 21+ и так далее.
Как мы знаем, PouchDB можно использовать в качестве прямого интерфейса к серверам, совместимым с CouchDB. Итак, давайте настроим CouchDB.
Установка CouchDB
Если вы используете один из дистрибутивов Linux, вы можете установить его с помощью следующей команды.
$ sudo apt-get install couchdb
Для Windows скачайте и установите с сайта CouchDB.
В случае Mac вы можете запустить следующую команду в терминале.
$ brew install couchdb
После установки вы можете открыть в браузере http://127.0.0.1:5984/ или http: // localhost: 5984 /. Ответ должен быть примерно таким:
{"couchdb":"Welcome","version":"3.1.1", .. }
Когда вы откроете http://127.0.0.1:5984/_utils/index.html и увидите следующий экран.
Примечание. Если на Mac вы не получаете ответа при открытии http://127.0.0.1:5984/ в браузере, проверьте, запущена ли служба couchdb, используя команду:
$ curl http://127.0.0.1:5984/
Если вы получите следующий ответ, обычно служба не работает.
curl: (7) Failed to connect to 127.0.0.1 port 5984: Connection refused
В этом случае выполните следующую команду, чтобы запустить службу.
$ couchdb
Настройка CORS
Чтобы создать базу данных PouchDB на удаленном сервере CouchDB, нам необходимо включить CORS в CouchDB.
Установите CORS, используя следующий сценарий.
$ npm install -g add-cors-to-couchdb
Затем запускаем скрипт:
$ add-cors-to-couchdb
Установка PouchDB
Загрузите последнюю версию pouchdb-6.3.4.min.js со своего веб-сайта и включите в index.html следующим образом:
< script src="pouchdb-7.2.2.min.js">< /script>
Если вы используете Node.js, вы можете запустить команду:
$ npm install pouchdb
Обратитесь к этой документации, чтобы узнать о других способах установки PouchDB.
Создание базы данных
Чтобы создать локальную базу данных в PouchDB с помощью node, мы можем просто написать следующий фрагмент кода и сохранить его как index.js.
//Requiring PouchDB module let pouchDB = require("PouchDB"); //Creating the database object let db = new PouchDB("techshard"); console.log ("Database created Successfully.");
Затем запустите команду следующим образом:
$ node index.js
Чтобы создать удаленную базу данных, вам необходимо указать URL-адрес удаленного сервера.
//Requiring the package let PouchDB = require("PouchDB"); //Creating the database object let db = new PouchDB("http://127.0.0.1:5984/techshard"); db.info().then(function (info) { console.log(info); });
Здесь удаленная база данных не будет создана, пока мы не вызовем API db.info (). После того, как вы запустите указанный выше JavaScript, вы сможете просмотреть информацию следующим образом:
Мы также можем просмотреть информацию, открыв http://127.0.0.1:5984/techshard в браузере.
До сих пор мы узнали, как установить и настроить PouchDB. Давайте посмотрим на некоторые операции с базой данных.
Хранение и чтение документа
Поскольку PouchDB - это база данных NoSQL, мы храним неструктурированные документы. Например:
let doc = { _id : '01', name: 'John Doe', age : 24, designation : 'Developer' }; db.put(doc);
Это сохранит документ в базе данных. Чтобы прочитать тот же документ, мы можем написать следующее:
db.get('01').then(function (doc) { console.log(doc); });
Здесь «01» - это _id документа.
Мы увидим в консоли следующий вывод.
{ _id: '01', _rev: '1-7624dcaea7247ee0c6e280f8482d4ee7', name: 'John Doe', age: 24, designation: 'Developer' }
Здесь новое поле _rev - это маркер версии. Это случайно сгенерированный идентификатор, который изменяется при создании или обновлении документа.
Удаление документа
Для удаления мы можем просто получить документ и удалить возвращенный документ.
db.get('01').then(function (doc) { return db.remove(doc); });
Есть и другие способы удалить документ в PouchDB API, см. Эту документацию.
Подведение итогов
PouchDB имеет гораздо более мощные функции. Если вы заинтересованы в углубленном изучении, посетите их официальный сайт для получения подробной документации и справочника по API. Надеюсь, эта статья вызвала у вас интерес к PouchDB. Дайте мне знать в комментариях, если у вас уже есть опыт работы с CouchDB или PouchDB.
Эта статья изначально была опубликована на моем старом веб-сайте.