【发布时间】:2017-04-06 05:26:06
【问题描述】:
我正在尝试使用 mongo 创建简单的排行榜。 我有使用 node.js 和 express 构建的 API。
现在我有按用户点排序的 json,如下所示:
[
{
"_id": "58e543758222ff220d0af481",
"id": 5,
"__v": 0,
"name": "Frank",
"points": 653
},
{
"_id": "58e543758222ff220d0af479",
"id": 1,
"__v": 0,
"name": "Bob",
"points": 321
},
{
"_id": "58e543758222ff220d0af47b",
"id": 2,
"__v": 0,
"name": "John",
"points": 123
},
{
"_id": "58e543758222ff220d0af47d",
"id": 3,
"__v": 0,
"name": "Bravo",
"points": 34
},
{
"_id": "58e543758222ff220d0af47f",
"id": 4,
"__v": 0,
"name": "Bill",
"points": 12
}
]
我收到了如下所示的请求:
User.find().sort({ points: '-1' }).exec(function(err, users) {
if (err)
res.send(err);
res.json(users);
});
还有另一个获取指定id的get请求。
User.findOne({id: req.params.id}, function(err, user) {
if (err)
res.send(err);
res.json(user);
});
我只是发送用户 ID 并获取有关他的信息。 我不知道如何找到指定 id 的最近邻居。例如,我找到了 id: 3 的用户,但如何在他之前显示一位用户,在他之后使用积分显示一位用户。
谢谢
【问题讨论】: