2013-02-27 184 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,...] }

從我的經驗是共同以及。