首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PouchDB结构

PouchDB结构
EN

Stack Overflow用户
提问于 2015-05-06 03:06:52
回答 3查看 2.7K关注 0票数 16

我是nosql概念的新手,所以当我开始学习PouchDB时,我发现了这个转换图。我的困惑是,如果假设我有多个表,PouchDB如何处理,这是否意味着我需要创建多个数据库?因为根据我在pouchdb中的理解,数据库可以存储很多文档,但是文档在sql中意味着一行,还是我被误解了?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-05-06 18:35:22

..。这是否意味着我需要创建多个数据库?

不是的。

..。文档是sql中的一行,还是我被误解了?

没错。SQL表定义列标题(名称和类型)--它们是文档的JSON属性名称。

因此,具有相同属性的所有文档(行)(所谓的“模式”)都等同于您的SQL表。您可以在一个数据库中拥有任意多个不同的模式(请访问json-schema.org以获得一些灵感)。

如何分别要求?创建CouchDB视图!您可以使用从SQL中知道的一个请求获取表格数据的所有/一些“行”(具有相同模式的文档)。

要轻松地编写这样的视图,属性type对于CouchDB文档非常常见。SQL表中的已知名称可以是类似于doc.type: "animal"的类型。

您的视图名可能是animalByNameanimalByWeight。取决于你的需要。

票数 8
EN

Stack Overflow用户

发布于 2015-06-15 18:20:37

这个问题的答案似乎出奇地少有记载。虽然@llabball给出了一个很好的答案,但我不认为观点总是可行的。

由于您可以在不使用map/的情况下在一节中阅读,诺兰解释说,对于更简单的应用程序,关键是滥用_ids,并利用allDocs()的力量。

换句话说,如果您有两种不同的类型(比如艺术家和专辑),那么您可以在每种类型的id前加上前缀,以获得易于搜索的数据集。例如,_id: 'artist_name' & _id: 'album_title'允许您按名称顺序轻松地检索艺术家。

以这种方式排列数据将导致更好的性能,因为不需要额外的索引,代码也更少。但是,显然,如果您的数据需求更复杂,那么视图就是要走的路。

票数 13
EN

Stack Overflow用户

发布于 2017-06-26 03:38:22

有时候,多数据库计划是一个很好的选择,就像每个用户的数据库,甚至每个用户的数据库。看看这次谈话上的CouchDB邮件列表。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30066753

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档