通过:https://cnodejs.org/api/v1/topics?limit=10&mdrender=true&page=1&tab=good,返回内容与https://cnodejs.org/?tab=good返回不同,前者返回只有一条记录(无论limit为几,只要tab=good): {“data”:[{“id”:“546e925cc4922d383a829753”,“author_id”:“51cfccdd73c638f3708c58d8”,“tab”:“good”,…
【精华】和【分享,问答,招聘】的实现是不一样的。
我没去看nodeclub的代码历史。 因为用tab=good能查出一条记录,所以我猜他们也许最初是【精华】作为一个分类,和【分享,问答,招聘】是同级关系。 那一条是历史数据。 后来又将【精华】作为文章的一个属性。 从Topic的字段定义就可以看出
var TopicSchema = new Schema({
title: { type: String },
...
top: { type: Boolean, default: false }, // 置顶帖
good: {type: Boolean, default: false}, // 精华帖
....
tab: {type: String}
});
API的router实现也不一样。代码不列举了。
// 取主题
var query = {};
if (tab && tab !== 'all') {
if (tab === 'good') {
query.good = true;
} else {
query.tab = tab;
}
}
API里目前的代码逻辑应该是无法过滤出精华主题的。是否会修改?
另外,我个人觉得,能否花点时间,小改一下,将精华的url从https://cnodejs.org/?tab=good
改为https://cnodejs.org/good
或其他的。当然,这个无关紧要。
@alsotang 速度很快!另外这里是不是又改回去了?:
@kuake 这里我在更下层做了过滤,所以就去掉这里的了。