gpt4 book ai didi

pouchdb - 在同一个应用程序上创建多个 PouchDB 数据库是否被认为是糟糕的设计?

转载 作者:行者123 更新时间:2023-12-04 01:58:33 24 4
gpt4 key购买 nike

我来自 Mysql 背景,现在正在使用 Pouchdb。我习惯了每个应用程序有 1 个数据库和许多表的 SQL 模式。

在 pouchDB 中则不同,因为数据不是存储在表中而是存储在文档中。因此,在我的应用程序中,我有一个用于任务的数据库,创建方式为:

var db = new PouchDB('tasks', {revs_limit: 1, auto_compaction: true});

这是我的应用程序的主数据库,但现在我还需要存储设置,例如“last_visit_date”、“language_preference”等。

所以,我有两个问题:
  • 我应该只创建一个数据库然后存储不同的数据吗
    在子对象中设置,或者我可以创建多个数据库来存储这些数据 第二个选项有什么缺点吗?
  • 我还没有开始与 cloudant 或 couchdb 同步,但我将来必须这样做。如果我有 2 个(或更多)数据库,它会以某种方式使同步过程更复杂、更慢或更糟吗?
  • 最佳答案

    Is creating multiple PouchDB databases on the same application considered bad design?



    一句话:没有。

    长答案:CouchDB/PouchDB 中的数据库本质上是免费的。并且一些应用程序设计需要多个数据库。

    考虑一个理论上的离线优先/移动应用程序,它跟踪代理的销售情况。它可能有一个用于库存管理目的的数据库,该数据库与中央 CouchDB 服务器同步。

    它可能还有一个每个代理的数据库,其中包含给定代理的客户和销售信息。

    PouchDB 应用程序将需要这两个数据库。而且由于 CouchDB 的设计,没有(简单、理智的)方法可以将这些数据集保存在同一个数据库中,并将代理的记录彼此分开。

    CouchDB/PouchDB 中的数据库更像是表而不是 RDBMS 中的数据库。

    在 PouchDB 中创建额外数据库的唯一真正限制因素(不适用于 CouchDB)是没有简单的方法可以列出您现有的数据库,除非使用 plugin .这不一定是一个真正的限制——它只是意味着您需要记住您创建了哪些数据库(您可能不应该以编程方式创建随机命名的数据库......但无论如何这可能是一个糟糕的设计。; -) )

    关于pouchdb - 在同一个应用程序上创建多个 PouchDB 数据库是否被认为是糟糕的设计?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43463488/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com