CouchDB按文档类型创建数据库?

Obt*_*bto 12 database-design couchdb nosql

我刚刚开始使用couchdb,到目前为止我真的很喜欢它,但我想知道你什么时候应该创建一个新的数据库.

这就是我的意思:

如果我要在具有多个博客的服务器上创建一个博客,这是一个RDBMS,我将创建一个名为fox_blog的数据库,并为帖子,评论等创建表和关系.

现在在CouchDB中,我只需要制作3种文档类型:帖子,评论和用户帐户.

但这是我的问题:我是否会创建一个名为fox_blog的数据库并为每个文档添加一个"类型"字段(例如,在帖子文档中会有一个'type'字段,其值为'post')?或者我会为每个文档创建一个单独的数据库,并在名称前面加上fox_(例如,db name将是fox_posts的帖子)?或者这些都不正确吗?

如果有任何不清楚的地方,请告诉我,有点难以解释

Ana*_*thu 9

您应该在每个文档中创建一个带有类型字段的数据库.

您可能希望编写一个视图,将文档及其所有注释一起返回.


Dom*_*nes 6

通常,我尝试在每个自己的数据库中保留单独的应用程序.在这种情况下,如果在单个界面中访问所有不同的博客,请将其保存在1个数据库中,使用type和之类的字段blog来标识每个文档.

如果您运行多个博客,每个博客都在他们自己的域或地址访问,您可能需要考虑将每个博客分段到他们自己的数据库中.基本上,CouchDB在这里给你很大的灵活性,所以利用它和实验.


dch*_*dch 5

更重要的是,不直接支持跨多个DB进行查询 - 尽管有很多方法可以解决这个问题.

在你的情况下,在单独的数据库中的帖子,评论和行为根本不起作用.

您可以使用duck-typing或使用类型字段"post/comment"等.

CouchDB有一个内置的用户数据库,也可以在你的应用程序中访问.