我正在写一个业余爱好的网络应用程序。它目前将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 :(得分:0)
我不相信有一种设计这些文档的规范方法,但我知道CouchDB和MongoDB都使用相同的方法:
{ “_id”:123, “title”:“title1”, “内容”:“内容......” }
实体的ID在文档内。要返回文档列表,只需返回一个数组:
{ “帖子”:[{“_ id”:123,...},{“_ id”:124,...}] }
我看到CouchDB对他们的观点做了很多。您会看到一个带有数组的结果,然后是该数组中的文档,每个文档中都有一个ID。 ID永远不会出现在文档的外部/旁边。
此外,我已经看到了很多像你提到的轻量级索引:
{ “ids”:[123,124,125,...] }
从我的经验来看也很常见。