Я новичок в концепции nosql, поэтому, когда я начинаю учиться PouchDB, я нашел эту таблицу пересчета. Моя путаница в том, как обрабатывать PouchDB, если можно сказать, что у меня есть несколько таблиц, означает ли это, что мне нужно создать несколько баз данных? Поскольку из моего понимания в pouchdb база данных может хранить много документов, но документ означает строку в sql или я неправильно понял?Структура PouchDB
ответ
... это значит, что мне нужно создать несколько баз данных?
No.
... документ означает строку в SQL или я неправильно понял?
Это верно. Таблица SQL определяет заголовок столбца (имя и тип) - это имена свойств JSON документа.
Итак, все документы (строки) с теми же свойствами (так называемая «схема») являются эквивалентом вашей таблицы SQL. Вы можете иметь столько разных схем в одной базе данных, сколько хотите (посетите json-schema.org для некоторого вдохновения).
Как запросить их отдельно? Создайте представления CouchDB! Вы можете получить все/некоторые «строки» ваших табличных данных (документы с той же схемой) с одним запросом, как вы знаете, от SQL.
Чтобы написать такие виды легко, свойство type
очень распространено для документов CouchDB. Ваше известное имя из таблицы SQL может быть вашим типом, как doc.type: "animal"
Вашими именами могут быть animalByName
или animalByWeight
. Зависит от ваших потребностей.
Ответ на этот вопрос кажется неожиданно недооцененным. В то время как @llabball явно дал достойный ответ, я не думаю, что взгляды - это всегда путь.
Как вы можете прочитать here в разделе Если не использовать карту/уменьшить, Нолан объясняет, что для простых приложений, ключ к злоупотребления_ids
и использовать мощь allDocs()
.
Другими словами, если у вас было два отдельных типа (например, исполнители и альбомы), то вы можете префикс идентификатора каждого типа для получения легкодоступного набора данных. Например, _id: 'artist_name'
& _id: 'album_title'
, позволит вам легко получить художников в порядке имен.
Укладка данных таким образом приведет к лучшей производительности из-за отсутствия дополнительных индексов и меньшего количества кода. Ясно, однако, если ваши требования к данным более сложны, то взгляды - это путь.
Иногда план с несколькими базами данных является хорошим вариантом, например, базой данных для каждого пользователя или даже базой данных для каждой пользовательской функции. Взгляните на this conversation на список рассылки CouchDB.
- 1. Структура документа Pouchdb
- 2. couchDB pouchDB sync - angular-pouchdb - Тип Ошибка
- 3. Безопасность PouchDB
- 4. PouchDB Query как sql
- 5. pouchdb и couchbase синхронизации шлюза
- 6. Рефакторинг локального хранилища в PouchDB
- 7. Создание полезного индекса в PouchDB с помощью pouchdb-find
- 8. Невозможно сохранить изображение в PouchDB - Ionic/angularjs/pouchdb
- 9. angular-pouchdb: pouchDB не определен или не является функцией
- 10. NW.js - PouchDB - Невозможно использовать PouchDB через require() в узле webkit
- 11. нужны PouchDB список ошибок
- 12. PouchDB и связанные документы
- 13. PouchDB on Cloudant
- 14. Репликация PouchDB проектных документов
- 15. Uncaught ReferenceError PouchDB
- 16. Элемент обновления PouchDB
- 17. PouchDB Ошибка синхронизации
- 18. PouchDB 400 плохой запрос
- 19. PouchDB + Superlogin + AngularJS 2
- 20. говорить с PouchDB Основы
- 21. Pouchdb - настройка живой репликации
- 22. PouchDB - Режим сжатия
- 23. Получить данные из pouchdb
- 24. Разрешение на синхронизацию PouchDB?
- 25. QuotaExceededError с pouchdb
- 26. Использовать pouchdb обещание polifil
- 27. Electron Angular2 PouchDB
- 28. PouchDB alldocs() vs bulkget()
- 29. couchdb mobilefuton pouchdb
- 30. Ошибка транзакции PouchDB