mongo를 사용하여 간단한 리더 보드를 만들려고합니다. node.js로 API 빌드를 작성하고 표현합니다. MongoDB 가장 가까운 이웃을 찾는 방법
는 지금 I는 다음과 같습니다 사용자 점으로 분류 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
}
]
I는 다음과 같습니다 요청을 얻을 수 있습니다
User.find().sort({ points: '-1' }).exec(function(err, users) {
if (err)
res.send(err);
res.json(users);
});
을 그리고 다른 하나는 지정된 ID를 찾을 수 요청을 얻을.
User.findOne({id: req.params.id}, function(err, user) {
if (err)
res.send(err);
res.json(user);
});
나는 사용자의 ID를 보내고 그에 대한 정보를 얻습니다. 지정한 ID의 가장 가까운 이웃을 찾는 방법을 모르겠습니다. 예를 들어 나는 ID가 3 인 사용자를 발견하지만 그 전에 한 명의 사용자를 표시하고 그 뒤에 한 명의 사용자를 표시하는 방법을 사용합니다.
는이 테스트되지 않은 단지 아이디어를 당신
어제 나를 구했고 그 일을 다시하고 있습니다. 고맙습니다. 이 솔루션이 예를 들어 10000 개 요소에서 작동하는지 알려주시겠습니까? 2 시간에 한 번 요청합니다. – omygoodness
자, 그건 내가 모른다. MongoDB를 많이 사용할수록 제한적인 방법이 더 많이 발견되고 결국 이와 같은 이상한 솔루션을 수행해야합니다. – Mikey
방금 9276 사용자에게이 솔루션을 테스트 한 결과 정말 멋졌습니다 :) – omygoodness