所以现在我正试图过滤大约12000个用户,每天大约1k以上。MongoDB与Monkey。并且使用这个排序代码。
class User {
constructor(doc) {
this.username = doc.username
this.kills = doc.kills;
this.deaths = doc.deaths;
}};
let res = await Calls.getAllUsers()
let users = res.map((doc) => new User(doc));
const sorted = users.sort((a, b) => b.kills - a.kills);
const whereIam = sorted.indexOf(users.find((u) => u.username === user_grab)) + 1;
whereIam变量会扼杀性能。每次查询大约20秒。
您只需将.sort({ kills: -1 })
附加到您在await Calls.getAllUsers()
中使用的mongo查询中,即可按kills降序对所有用户进行排序。
参考:https://docs.mongodb.com/manual/reference/operator/meta/orderby/