Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

168
Views
Problema al obtener la calificación promedio de mongodb en node.js express

Tengo un back-end expreso de node.js con una base de datos mongodb en la nube (atlas mongodb). Este es el objeto Publicar y quiero obtener la calificación promedio de los comentarios de los revisores y los comentarios de los usuarios.

 import mongoose from 'mongoose' const postSchema = mongoose.Schema({ game: { }, reviewerComments: [ { author: String, authorEmail: String, avatar: String, title: String, text: String, grade: Number, date: String } ], userComments: [ { author: String, authorEmail: String, text: String, grade: Number, date: String } ] }, { timestamps: true }) const Post = mongoose.model('Post', postSchema) export default Post

Tengo una ruta API que llama a esta función.

 export const getAverageGrades = async (req, res) => { const { id } = req.query try { const post = await Post.aggregate([ { $match: { _id: mongoose.Types.ObjectId(`${id}`) } }, { $unwind: "$reviewerComments" }, { $group:{ _id:{ "comment_id": "$reviewerComments.id", "title": "$reviewerComments.title", "grade": "$reviewerComments.grade", }, avg_rating: {$avg:"reviewerComments.grade"} } }, { $project:{ "id": "$_id.rating_id", "title": "$_id.title", "avg_rating": "$avg_rating" // avg_rating returns null } } ]) res.status(200).json(post); } catch (error) { console.log(error.message) res.status(404).json({ message: error.message }); } }

Esta función devuelve una respuesta donde avg_rating es nulo, ¿qué estoy haciendo mal?

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!