3

我正在编写一个爱好 Web 应用程序。它目前将 JSON 对象发送到客户端,然后客户端将它们创建为博客文章。目前 JSON 对象如下所示:

{"id1": {"title": "title1", "content": "content1", ...}, "id2": {...}, ...}

有时顺序开始很重要。例如,如果我想为博客文章创建随机显示顺序。目前我使用一个单独的数组post_ids,它看起来像["id1", "id2", ...],它的值用作上面 JSON 对象的键。

显然,我的对象可能如下所示:

[{"id": "id1", "title": "title1", "content": "content1"}, ...]

但随后我将失去按 ID 索引的能力,并且每次都需要遍历我的数据。

有时我也有一个对象,我想获取它的 ID。我可以将 ID 包含到初始对象中:

{"id1": {"id": "id1", "title": "title1", ...}, ...}

设计包含这些 CouchDB/MongoDB 样式文档的数据结构的规范方法是什么?

4

1 回答 1

0

我不相信有一种规范的方式来设计这些文档,但我知道 CouchDB 和 MongoDB 都使用相同的方法:

{“_id”:123,“title”:“title1”,“content”:“content ...”}

实体的 id 在文档内部。要返回文档列表,您只需返回一个数组:

{“帖子”:[{“_id”:123,...},{“_id”:124,...}]}

我看到 CouchDB 经常根据他们的观点来做这件事。您会看到一个包含数组的结果,然后是该数组中的文档,每个文档中都有一个 ID。id 永远不会出现在文档之外/旁边。

我还看到了很多像你提到的轻量级索引:

{“ID”:[123、124、125,...]}

根据我的经验,这也很常见。

于 2013-03-08T23:20:40.833 回答