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

295
Vistas
Elasticsearch 7.1: Convierta la canalización de agregación de mongodb en una consulta de búsqueda elástica

Esta es la primera vez que uso la búsqueda elástica, así que tengan paciencia conmigo. Tengo dos esquemas, Esquema de ofertas y Esquema de comentarios de oferta, necesito buscar por título de oferta y tener cada resultado de oferta con sus comentarios.

Esquema de oferta :

 { title: { type: String, es_indexed: true, } }

En el esquema de oferta anterior, no hay ningún campo para hacer referencia a los comentarios de la oferta.

Esquema de comentario de oferta :

 { offer: { type: Schema.Types.ObjectId, ref: 'Offer', es_indexed: true, }, comment: { type: String, es_indexed: true, } }

En el esquema de comentario de oferta anterior, el campo de oferta hace referencia a la oferta a la que pertenece el comentario. La siguiente tubería de agregación se usa para lograr el resultado deseado a través del controlador mongodb.

Tubería de agregación de Mongodb realizada en la colección de ofertas :

 [ { $lookup: { from: 'offercomments', let: { id: '$_id', }, pipeline: [ { $match: { $expr: { $and: [ { $eq: ['$offer', '$$id'], }, ], }, }, }, { $sort: { createdAt: -1, }, }, { $limit: 1, }, ], as: 'comments', }, }, ];

aquí hay algunas muestras de salida de la canalización de agregación

Muestra de salida de agregación :

 [ { "_id": "123", "title": "offer title sample", "comments": [ { "_id": "_123", "offer": "123", "comment": "Hello there" } ] }, { "_id": "456", "title": "offer title sample", "comments": [ { "_id": "_456", "offer": "456", "comment": "Hello there" } ] } ]
over 4 years ago · Santiago Trujillo
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