我正在为博客网站设计新闻提要。我正在尝试设计提要,以便您朋友最近活动的博客将这些博客保留在提要的顶部,而您没有参与的提要则落在列表的底部。基本上,想想你的 Facebook 提要,但对于博客。
这是我目前的设计,但我愿意接受建议,以便更容易选择:
{
_id: 1,
author: {first: "John", last: "Doe", id: 123},
title: "This is a test post.",
body: "This is the body of my post."
date: new Date("Feb 1, 2013"),
edited: new Date("Feb 2, 2013"),
comments: [
{
author: {first: "Jane", last: "Doe", id: 124},
date: new Date("Feb 2, 2013"),
comment: "Awesome post."
},
],
likes: [
{
who: {first: "Black", last: "Smith", id: 125},
when: new Date("Feb 3, 2013")
}
],
tagged: [
{
who: {first: "Black", last: "Smith", id: 126},
when: new Date("Feb 4, 2013")
}
]}
问题 1:假设我的朋友的 id 为 124 和 125,我如何选择提要,以便此帖子在结果中的顺序是他们,而不是稍后在提要中标记的用户 126。
问题 2:这个单一的博客集合是一个好的设计,还是我应该将操作规范化到一个单独的集合中?