Database design CouchDB:我应该如何设计数据结构?是否有文件夹、橱柜或抽屉之类的东西来保持物品整洁?

Database design CouchDB:我应该如何设计数据结构?是否有文件夹、橱柜或抽屉之类的东西来保持物品整洁?,database-design,couchdb,Database Design,Couchdb,我听说CouchDB和nosql dbs已经有一段时间了,终于有时间再深入了解一下。我选择Coach主要是因为http api,因为js是我最熟悉的语言,我可以在没有服务器的情况下完成工作 通过一整天潜入CouchDB,并简要浏览指南,出现了一个问题:我应该如何构建我的数据 比如说,我们有三个人和三本书:汤姆、迈克和玛丽;第一册、第二册和第三册。 有什么东西可以让你把不同的类型放到不同的类别中吗?比如: 文件夹人 {name:'Tom'} {name:'Mike'} {name:'Marry'}

我听说CouchDB和nosql dbs已经有一段时间了,终于有时间再深入了解一下。我选择Coach主要是因为http api,因为js是我最熟悉的语言,我可以在没有服务器的情况下完成工作

通过一整天潜入CouchDB,并简要浏览指南,出现了一个问题:我应该如何构建我的数据

比如说,我们有三个人和三本书:汤姆、迈克和玛丽;第一册、第二册和第三册。 有什么东西可以让你把不同的类型放到不同的类别中吗?比如:

文件夹人

{name:'Tom'}
{name:'Mike'}
{name:'Marry'}
文件夹簿

{name:'book1'} 
{name:'book2'} 
{name:'book3'} 
正如我发现的那样,对于不同数据库的视图来说是非常困难的,将它们放在不同的数据库中是不切实际的。我所能想到的也许是:

{type:'people',name:'Tom'}
{type:'people',name:'Mike'}
{type:'people',name:'Marry'}
{type:'book',name:'book1'} 
{type:'book',name:'book2'} 
{type:'book',name:'book3'} 

但是,即使这将是唯一的解决方案,使用字符串作为类型似乎不是一个好主意;要真正维护类型,应该有“成本”之类的东西。

我认为,使用类型字段是最常见的解决方案。为什么你认为使用字符串不是一个好主意?另一种选择是检查某些字段是否存在,以确定它是哪种类型。例如,一本书将有一个isbn字段,但一个人不会。