У меня есть простой рейтинг, который я должен сделать, чтобы дать моему пользователю звание.Как я могу подсчитать пользователей в мангусте, у которых есть конкретные критерии?
выглядит следующим образом:
this.model('User').count({'myClub.scoreStamp': {'$gt':this.myClub.scoreStamp}}).exec(function(err,countNum){
rankToReturn = countNum + 1;
console.log('rankToReturn',rankToReturn);
deferred.resolve(rankToReturn);
});
где scoreStamp это баллы, что выглядит следующим образом: 4,14, 3,11 и так далее.
Я хочу добавить к этому запросу еще одно поле и проверить что-то вроде этого: Подсчитайте всех пользователей, у которых есть один и тот же параметр X, дайте мне мой рейтинг среди них, мне интересно, что является самым быстрым способом сделать это :
Должен ли я сделать находку первым, а затем рассчитывать ?, как это:
this.model('User').find({'myClub.club':12345678}).count({'myClub.scoreStamp': {'$gt':this.myClub.scoreStamp}}).exec(function(err,countNum){
rankToReturn = countNum + 1;
console.log('rankToReturn',rankToReturn);
deferred.resolve(rankToReturn);
});
Или это можно сделать что-то вроде этого:
this.model('User').count({'$and':{'myClub.scoreStamp': {'$gt' : this.myClub.scoreStamp} }}).exec(...);
Wha t является правильным и самым быстрым способом запросить такую вещь?