Estoy creando una aplicación de pila MERN que otorga 'Puntos' a un usuario en función de la cantidad de publicaciones, comentarios y Me gusta que hacen.
Necesito generar un LEADERBOARD a partir de esto, que clasifique a todos los usuarios (usuario con la mayor cantidad de publicaciones, comentarios y Me gusta) y también muestre el recuento total de publicaciones, comentarios y Me gusta.
Actualmente tengo un esquema de usuario como se muestra a continuación:
import mongoose from 'mongoose' const { Schema } = mongoose const userSchema = new Schema( { name: { type: String, trim: true, required: true, }, email: { type: String, trim: true, required: true, unique: true, }, const postSchema = new mongoose.Schema( { user: { type: mongoose.Schema.Types.ObjectId, ref: 'User', }, title: { type: String, required: true, }, comments: [ { content: 'String', user: { type: mongoose.Schema.Types.ObjectId, ref: 'User', }, }, ], likes: [ { user: { type: mongoose.Schema.Types.ObjectId, ref: 'User', }, }, ], } );¿Cómo enumero en una TABLA DE CLASIFICACIÓN a todos los usuarios y los clasifico en función de sus PUNTOS TOTALES (suma del número de publicaciones, comentarios y me gusta)?