我们可以在couchdb中嵌套对象数组吗?

时间:2018-01-15 12:39:33

标签: couchdb

我在架构设计方面遇到了挑战。在建筑物中,应该有特定的楼层数(例如:10),在每个楼层,我都有墙(例如:3)。我假设,每个墙都是一个对象,它是一个单独的文件。我将所有这些映射到一个主要文档"构建"。

同样,我的数据库中会有几栋建筑物。

1 个答案:

答案 0 :(得分:1)

CouchDB中的文档是一个JSON对象。因此,它可以具有任意复杂的结构。所以,是的,你可以有一个嵌套的对象数组。您还可以拥有一个存储其他文档的ID的数组。让孩子在没有父母持有对孩子的引用的情况下引用父母也是很常见的。

如何将域模型分解为文档将在很大程度上取决于您希望在应用程序中执行的操作。用户如何与数据交互?更重要的是,多个用户如何与数据进行交互?在您的示例中,用户将要处理的工作单元是什么?您是否希望多个用户同时编辑同一建筑物/楼层/墙?处理建筑物,地板,墙壁是个人的工作吗?