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

144
Views
Obtención de datos no nulos de la población de mongoose

Tengo dos colecciones de mongodb, Sparks y sparksteam, que se unen mediante la función de población de mongoose

este es el codigo

 Books.find({"user_id": "55006c36c30f0edc5400022d",$or: [{"status": 2}, {"status": 1}]}).sort({"order_date": -1}).populate({ path: 'book_id', select: 'title _id user task_category create_date description end_date status ref_number order_date' }).exec(function (err, data) { console.log("Data found:" + data.length); data.forEach(function (check) { var obj = new Object(); if (check.book_id !== null) { obj._id = check.book_id._id; obj.title = check.book_id.title; obj.description = check.book_id.description; obj.ref_number = check.book_id.ref_number; obj.user = check.book_id.user; obj.task_category =check.book_id.task_category; obj.create_date = moment.utc(check.create_date).format("DD-MM-YYYY HH:mm:ss"); obj.status = check.book_id.status; obj.order_date = check.book.order_date; console.log(obj); }

Al obtener los datos, también obtiene valores nulos, que son los _id que no están disponibles en la colección Sparks. ¿Cómo recupero solo aquellos objetos cuyos _ids no son nulos, es decir, cómo hacer que ignore por completo los valores nulos? ?

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Cuando ejecuta una consulta de relleno, internamente ejecuta una función findById() y devuelve todos los datos. Sin embargo, cuando no puede encontrar ningún documento que coincida con ese _id, devuelve el objeto nulo.

No hay forma de consultar objetos de referencia no nulos de antemano. Pero hay formas de filtrar valores nulos rápidamente.

  1. Puede filtrar su resultado final con _.filter de la biblioteca lodash. Enlace: https://lodash.com/docs/4.17.4#filter

    1. actualice el esquema principal que contiene la referencia del libro y elimine la referencia cada vez que elimine un libro. Puede usar ganchos en el esquema principal para hacer esto.

    someSchema.post('remove', function(doc) {// actualice sus documentos aquí});

over 4 years ago · Santiago Trujillo Report
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!