Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

146
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda