Meteor 按分数创建用户排名

Meteor create user ranking by score

我完全是个初学者。我正在将 Meteor 用于学校项目,并且正在尝试创建排名。我想根据他们的分数对用户进行排名。我想显示他们的用户名和他们的分数。

enter image description here

我发现的对用户进行排序的函数和下面的函数

Meteor.users.find({}, { sort: { score: -1 } });

我想把它包含在下面的代码中

Template.classement.helpers({

  users() {
    Meteor.users.find().forEach(function(oneUser) {
      const affichage = `nom : ${oneUser.username} score : ${oneUser.profile.score}`;
      console.log(affichage);
      console.log(oneUser.profile.score);
      console.log(oneUser);
    });

    return Meteor.users.find();
  },


});

在 html 方面,我有这个要显示,但它不起作用

<template name="classement">
  <h1>Classement</h1>
 {{#each users}}
    {{user}}
  {{/each}} 
</template>

你能帮帮我吗? (对不起语法,英语不是我的第一语言)。

欢迎来到 SO!

问题在排序中:

Meteor.users.find({}, { sort: { score: -1 } });

这会尝试按顶级字段 score 对文档进行排序。当您 score 存储在子文档中时,在配置文件下。

在 MongoDB 中按子模块的属性排序的语法是这样的:

Meteor.users.find({}, { sort: { 'profile.score': -1 } });