POS 应用程序的 CouchDB 设计
CouchDB Design for POS applciation
我正在使用 couchdb 和 angular 创建 POS(销售点)应用程序。因为我是 NoSQL 世界的初学者。需要有关如何设计系统的指导。
应该是基于云的应用程序,登录用户可以在其中创建公司,每个公司有 n 个位置。
在关系数据库的意义上,我的数据库设计是这样的。
- 登录到我的应用程序时,用户名和密码根据许可证数据库进行了验证。如果他们有效,应用程序将连接他们自己的公司数据库。
- 每当用户创建新公司时,都会创建新数据库,他们所有的位置、发票、付款都在他们自己的数据库中。
- 负责用户帐户、付款及其计划和安全级别的许可数据库(他们可以access/edit)。
- 该应用程序具有使用 PouchDB 的离线支持。将相关位置详细信息下载到用户浏览器,并将它们同步回服务器数据库。
问题:
- 是否可以为每个公司创建数据库。
- 如果用户想要离线操作,他们可以只同步自己的位置数据(过滤复制),如果他们想要访问其他位置数据,应用程序应该连接云DB.Is可以吗?
- 我想要 query/insert couchdb 和 PouchDB 中数据的相同代码。可能吗?
- 是couchdb map-reduce/mango查询支持复杂报表
- Angular+Couchdb 是否足够,或者我是否需要任何服务器端 framework.I 现在没有任何第三方身份验证。
- 上面的关系数据库设计应该如何在couch db中实现
关于这个软件设计我还应该考虑哪些其他事情
- 是的。 CouchDB 的一种常见设计是为每个用户提供一个数据库。每个公司一个是完全合理的。
- CouchDB 支持过滤复制。您可以为本地数据库实例(PouchDB 或 CouchDB)上的用户文档设置过滤复制
- PouchDB 允许您连接到 CouchDB。基本上,您可以拥有一个执行所有业务操作的 PouchDB 库。您只需要更改云或客户端数据库的数据库适配器。
- Map/Reduce 非常简单。它允许您索引文档并通过它们的键查询它们。您可以轻松更改索引中的值,也可以使用 reduce 函数。 Mango 查询更灵活。有点类似于MongoDB.
- 您最终可能需要一个应用层,但仅使用 CouchDB 是可能的。
我正在使用 couchdb 和 angular 创建 POS(销售点)应用程序。因为我是 NoSQL 世界的初学者。需要有关如何设计系统的指导。
应该是基于云的应用程序,登录用户可以在其中创建公司,每个公司有 n 个位置。
在关系数据库的意义上,我的数据库设计是这样的。
- 登录到我的应用程序时,用户名和密码根据许可证数据库进行了验证。如果他们有效,应用程序将连接他们自己的公司数据库。
- 每当用户创建新公司时,都会创建新数据库,他们所有的位置、发票、付款都在他们自己的数据库中。
- 负责用户帐户、付款及其计划和安全级别的许可数据库(他们可以access/edit)。
- 该应用程序具有使用 PouchDB 的离线支持。将相关位置详细信息下载到用户浏览器,并将它们同步回服务器数据库。
问题:
- 是否可以为每个公司创建数据库。
- 如果用户想要离线操作,他们可以只同步自己的位置数据(过滤复制),如果他们想要访问其他位置数据,应用程序应该连接云DB.Is可以吗?
- 我想要 query/insert couchdb 和 PouchDB 中数据的相同代码。可能吗?
- 是couchdb map-reduce/mango查询支持复杂报表
- Angular+Couchdb 是否足够,或者我是否需要任何服务器端 framework.I 现在没有任何第三方身份验证。
- 上面的关系数据库设计应该如何在couch db中实现
关于这个软件设计我还应该考虑哪些其他事情
- 是的。 CouchDB 的一种常见设计是为每个用户提供一个数据库。每个公司一个是完全合理的。
- CouchDB 支持过滤复制。您可以为本地数据库实例(PouchDB 或 CouchDB)上的用户文档设置过滤复制
- PouchDB 允许您连接到 CouchDB。基本上,您可以拥有一个执行所有业务操作的 PouchDB 库。您只需要更改云或客户端数据库的数据库适配器。
- Map/Reduce 非常简单。它允许您索引文档并通过它们的键查询它们。您可以轻松更改索引中的值,也可以使用 reduce 函数。 Mango 查询更灵活。有点类似于MongoDB.
- 您最终可能需要一个应用层,但仅使用 CouchDB 是可能的。