有什么方法可以让这个排序功能更快吗



所以现在我正试图过滤大约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/

相关内容

  • 没有找到相关文章

最新更新