首页 > 解决方案 > POS应用的CouchDB设计

问题描述

我正在使用带有角度的 couchdb 创建 POS(销售点)应用程序。因为我是 NoSQL 世界的初学者。需要指导如何设计系统。

它应该是基于云的应用程序,登录用户可以在其中创建公司,每个公司都有 n 个位置。

在关系数据库的意义上,我的数据库设计看起来像这样。

问题:

  1. 是否可以为每个公司创建数据库。
  2. 如果用户想要离线操作,他们可以只同步自己的位置数据(过滤复制),如果他们想要访问其他位置数据,应用程序应该连接云数据库。可以吗?
  3. 我想要相同的代码在 couchdb 和 PouchDB 中查询/插入数据。可能吗?
  4. couchdb map-reduce/mango 查询是否支持复杂报表
  5. Angular+Couchdb 是否足够,或者我需要任何服务器端框架。我现在没有任何第三方身份验证。
  6. 上面的关系型数据库设计应该如何在couch db中实现

我应该考虑这个软件设计的其他事情是什么

标签: couchdbpouchdb

解决方案


  1. 是的。CouchDB 的一种常见设计是每个用户都有一个数据库。每个公司一个是完全合理的。
  2. CouchDB 支持过滤复制。您可以为本地数据库实例(PouchDB 或 CouchDB)上的用户文档设置过滤复制
  3. PouchDB 允许您连接到 CouchDB。基本上,您可以拥有一个 PouchDB 库来执行您的所有业务操作。您只需要更改云或客户端数据库的数据库适配器。
  4. Map/Reduce 非常简单。它允许您索引文档并通过它们的键查询它们。您可以轻松更改索引中的值,也可以使用 reduce 函数。Mango 查询更加灵活。有点类似于 MongoDB。
  5. 您最终可能需要一个应用程序层,但只能使用 CouchDB。

推荐阅读