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

190
Views
Filtrado de colecciones MongoDB dentro de la colección usando MongoDB Shell

Disculpas por la pregunta nood. Estoy empezando a usar MongoDB y MongoDB Shell.

Tengo una base de datos llamada Distribuidores que se parece un poco a esto (muy simplificado):

 [ { "Id": 1, "Vehicles": [ { "Manufacturer": "Ford" }, { "Manufacturer": "MG" }, { "Manufacturer": "Citroen" } ] }, { "Id": 2, "Vehicles": [ { "Manufacturer": "Ford" }, { "Manufacturer": "Nissan" }, { "Manufacturer": "Ford" } ] } ]

Estoy tratando de entender cómo se filtran las colecciones dentro de las colecciones EG. Digamos que quería seleccionar todos los Ford de Id 2.

llego hasta:

 const dealer = database.collection('Dealers'); const result = await dealer.find({Id: 2})

y probé:

 const result = await dealers.find({ Id: 2, Vehicles: [ { Manufacturer: "Ford" } ] })

Pero sé que eso no funcionará porque no itera a través de la colección de vehículos. ¿Es este el tipo de instancia en la que usaría una agregación? Como digo, soy muy nuevo en este tipo de entorno y realmente agradecería cualquier sugerencia, por favor.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Acabo de probar. Puede usar la función Agregar para hacer coincidir los elementos dentro de la matriz en la colección. Al igual que la siguiente consulta, seleccionará todos los documentos que tengan una identificación igual a 1 y un fabricante igual a Ford

 db.MyCollection.aggregate([{$match:{Id:1}},{$unwind:"$Vehicles"}, {$match: {"Vehicles.Manufacturer":"Ford"}}]);

Está volviendo así. He usado mi propia identificación, es decir, igual a uno, puedes cambiar esto.

ingrese la descripción de la imagen aquí

about 4 years ago · Juan Pablo Isaza 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!