2013-02-27 128 views
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的风格文件?

回答

0

我不相信这是设计这些文件规范的方式,但我知道的CouchDB和MongoDB都使用相同的方法:

{ “_id”:123, “称号”:“TITLE1 “, ”content“:”content ...“ }

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

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

我看到CouchDB对他们的观点做了很多。您会看到一个数组的结果,然后看到该数组中的文档,每个文档中都有一个ID。该ID从不出现在文档的外部/旁边。

我也见过很多像你这样的轻量指标中提到:

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

从我的经验是共同以及。