我来自Mysql背景,现在我正在使用Pouchdb.我已经习惯了每个应用程序拥有1个数据库和多个表的SQL模式.
在pouchDB中它是不同的,因为数据不存储在表中而是存储在文档中.所以,在我的应用程序中,我有一个任务数据库,创建时:
var db = new PouchDB('tasks', {revs_limit: 1, auto_compaction: true});
Run Code Online (Sandbox Code Playgroud)
这是我的应用程序的主数据库,但现在我还需要存储设置,例如"last_visit_date","language_preference"等.
所以,我有两个问题:
Fli*_*mzy 14
在同一个应用程序上创建多个PouchDB数据库被认为是不好的设计?
一句话:不.
答案很长:CouchDB/PouchDB中的数据库基本上是免费的.一些应用程序设计需要多个数据库.
考虑一个跟踪代理商销售情况的理论离线优先/移动应用程序.它可能有一个用于库存管理目的的数据库,它与中央CouchDB服务器同步.
它可能还有一个每个代理数据库,包含给定代理的客户和销售信息.
PouchDB应用程序将需要两个数据库.由于CouchDB的设计,没有(简单,明智)的方法将这些数据集保存在同一个数据库中,并使代理的记录彼此分开.
CouchDB/PouchDB中的数据库更像是表,而不是RDBMS中的数据库.
在PouchDB中创建额外数据库(不适用于CouchDB)的唯一真正限制因素是,除了使用插件之外,没有简单的方法来列出现有数据库.这不一定是一个真正的限制 - 它只是意味着您需要记住您创建的数据库(您可能不应该以编程方式创建随机命名的数据库......但这可能是一个糟糕的设计. - ))