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

298
Views
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
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!