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

171
Views
Actualizar documento anidado con múltiples condiciones
{ id: 1, name: "venkat", description: "Description", address: "chennai", pinCode: "600100", authenticationCode: "123", authenticated: false, deleted: false, Location: [ { name: "foo", description: "LocationDecription", parent: "parent", UserAccess: [ { loginName: "paklon", role: "role" } ] } ] }

Necesito actualizar el role:"admin" donde las condiciones coinciden como id: 1 , el nombre de la matriz de la Location name: "foo" y la matriz anidada de la Location de "UserAccess.loginName": "paklon" y luego actualizar la función.

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

De acuerdo con la descripción mencionada anteriormente, como solución, intente ejecutar la siguiente operación de actualización en el shell de MongoDB

 db.collection.update({ "id": 1, "Location": { $elemMatch: { "name": "foo", "UserAccess": { $elemMatch: { "loginName": "paklon" } } } } }, { $set: { "Location.$.UserAccess.0.role": "admin" } })
over 4 years ago · Santiago Trujillo Report

0

La siguiente consulta debería funcionar:

 db.collection.update( {"id": 1, "Location.name": "foo", "Location.UserAccess.loginName": "paklon"}, {$set: {"Location.0.UserAccess.0.role": "admin"}} )

Para actualizar un elemento en particular en una matriz, debe usar el operador posicional "$" que en realidad es un marcador de posición para el primer elemento. Por lo tanto, podría reemplazarse con "0" y como permitía usar el "$" solo una vez en la consulta, deberá usar "0" al final de la consulta en cualquier caso.

También eche un vistazo a la documentación de mongodb correspondiente

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!