对我使用PockDB-Couchdb的数据结构/模式的建议
早上好 我想将couchdb/pouchdb用于我目前正在处理的pwa 在我的项目中我要存储“项目”,在“项目”中我要存储项目标题和“章节”,在“章节”中我要存储章节标题和“场景”,在“场景”中包含文本 哪种模式最有意义和性能? 现在我想到这样一个计划:对我使用PockDB-Couchdb的数据结构/模式的建议,couchdb,pouchdb,Couchdb,Pouchdb,早上好 我想将couchdb/pouchdb用于我目前正在处理的pwa 在我的项目中我要存储“项目”,在“项目”中我要存储项目标题和“章节”,在“章节”中我要存储章节标题和“场景”,在“场景”中包含文本 哪种模式最有意义和性能? 现在我想到这样一个计划: 项目1 标题:字符串 第一章 第一场 文本:字符串 场景2 文本:字符串 场景3 文本:字符串 第二章 项目2 标题:字符串 第一章 第一场 因为我只有SQL方面的经验,而且以前从未使用过基于文档的数据库
- 项目1
- 标题:字符串
- 第一章
- 第一场
- 文本:字符串
- 场景2
- 文本:字符串
- 场景3
- 文本:字符串
- 第一场
- 第二章
- 项目2
- 标题:字符串
- 第一章
- 第一场
我是将文档存储在文档中以获得与上面完全相同的模式,还是为每个组件(项目、章节、场景)创建数据库?您有几个选项
{
"_id": "project1:toplevel",
"type": "project",
"title": "Project 1"
}
{
"_id": "project1:chapter1",
"type": "chapter",
"title": "Project 1, chapter 1"
}
{
"_id": "project1:chapter1#scene1",
"type": "scene",
"title": "Project 1, chapter 1, scene 1"
}
在CouchDB的“即将登陆”版本中,此id格式可用于利用所谓的分区数据库,这在这里非常合适。您可以在此处阅读有关它的博客帖子:
谢谢您的回答!在阅读你的答案+文章时,它点击了。但是我有一个问题,有没有一种本地的方式可以像一个项目中的所有章节一样获得呢?我有!我在打字的时候不小心回答了。。。你介意看一下我编辑过的回复吗?:)如果您使用上面的_id格式,您应该能够使用带有合适的开始和结束键的_all_文档,比如startkey=“project1:chapter”&endkey=“project1:chapter/”这是完美的!与之相反,必须使用几个API调用,这对我来说并没有什么影响,因为我在本地使用它,而只是在远程手动同步所有数据。谢谢你花时间回答我的问题!很抱歉再次打扰您,我真的不知道如何使用开始和结束键的情况下。因为我真的不能排除这些东西。因此,当我试图获得所有章节时,我不能从结果中排除场景。