关系数据库模型的 couchdb 等价物

The couchdb equivalent of a relational database model

我是 couchdb 的新手,但我有后端编程和关系数据库的背景。

我想 "migrate my knowledge" 从 mySQL 到 CouchDB。虽然我找到了很多关于安装和入门教程的信息,但我在实际 "translate" 一个关系模型到 CouchDB 文档存储时遇到了麻烦。而且我知道,我需要彻底重新设定我的思维方式...

我想以最好的方式进入这个问题,所以我开始了一个基本的练习。我有一个来自实际使用的软件应用程序的简单关系模型。为了简单起见,我减少了字段的数量。

案例

我们有一叠卡片。每张卡片都有自己的属性(id、名称、imgpath 等)。每个用户可以在自己的卡片 collection.

中随机选择 collection 张卡片

MySQL

在 mySQL 中有 3 个表:

其他相关信息:

CouchDB 问题


显然,现实生活中的应用程序本身涉及更多的表和字段,但我只需要一个坚实的起点,我希望可以从那里开始。

预先感谢您的帮助!

What is the most efficient way of storing the users and cards in the CouchDB Document model? (So how do I "translate" the tables?)

  • 在内置 _users 数据库中存储用户文档
  • 将卡片存储在单独的存储桶中 (db)
  • 实现映射 cards2user 作为视图

Is it efficient/more secure to create a database/scheme for each of the users or just store it all in 1 database?

这取决于应用需求:

如果您需要控制对卡的读取权限,您将需要每个用户一个数据库的方法。

如果你只需要控制所有卡的一个数据库的写访问是我的建议。

两种情况下,用户帐户都存储在用户数据库中。