【发布时间】:2020-05-20 19:49:20
【问题描述】:
我的MongoDB 集合中有以下数据记录;
{
"_id": { "8uk4f9653fc4gg04dd7ab3d3"},
"title": "my title",
"url": "https://myurl/entry/1ethd485",
"author": "john",
"created": { "2020-05-20T08:25:47.438Z"},
"vote": 1619
},
{
"_id": { "6fd4fgh53fc4gg04dd7gt56d"},
"title": "my title",
"url": "https://myurl/entry/1ethd485",
"author": "john",
"created": { "2020-05-19T04:12:47.457Z"},
"vote": 1230
}
如您所见,title、url 和 author 可能相同,但 _id、 已创建 和 vote 是总是独一无二的。
这是我在app.js中的Route;
// Home Route
app.get('/', function(req, res){
Entry.find({}).sort({ "vote" : -1 }).limit(500).exec(function(err, entries){
if(err){
console.log(err);
} else {
res.render('index', {
entries: entries
});
}
});
});
这条路线显示 500 条记录的投票值降序排列。这显示了上面两个具有投票值 1619 和 1230 的记录。但是我想要实现的是仅显示相同标题、url 和作者的最大投票值。在这个例子中,它应该只显示投票值为 1619 的记录。最好的方法是什么?在这里使用distinct的正确方法是什么?
这是我的哈巴狗布局仅供参考;
extends layout
block content
h1 #{title}
ul.list-group
each entry, i in entries
li.list-group-item
a(href=entry.url)= entry.title
【问题讨论】: