Meteor создает рейтинг пользователей по баллам - PullRequest
1 голос
/ 26 мая 2020

Я новичок. Я использую Meteor для школьного проекта и пытаюсь составить рейтинг. Я хочу ранжировать пользователей по их оценке. Я хочу отображать их имена пользователей с их оценками.

введите здесь описание изображения

найденная мной функция для сортировки пользователей и следующая

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>

Не могли бы вы мне помочь. (извините за грамматику, английский sh не мой родной язык).

1 Ответ

1 голос
/ 26 мая 2020

Добро пожаловать в SO!

Проблема в сортировке:

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

Это пытается отсортировать документы по полю верхнего уровня score. Хотя у вас есть score, сохраненное во вложенном документе в профиле.

Синтаксис для сортировки по атрибуту подмодуля в MongoDB следующий:

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