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

265
Views
Cómo usar $pull para eliminar datos particulares de un documento en mongoDB

Soy bastante nuevo en MongoDB, quiero eliminar un objeto en particular de una matriz de objetos en un documento. Intenté mucho y encontré muchas preguntas en StackOverflow. Pero ninguna funcionó (tal vez es mi culpa)

el siguiente es un documento de una colección que coincide con el usuario con ID de usuario

 61f15af01a3c53dfa87e38e6

El documento

 { "_id": "61f15af01a3c53dfa87e38ed", "user": "61f15af01a3c53dfa87e38e6", "transactions": [ { "amount": 50, "category": "Bills", "type": "Expense", "_id": "61f15af01a3c53dfa87e38ee" }, { "amount": 100, "category": "Lottery", "type": "Income", "_id": "61f15af01a3c53dfa87e38ef" }, { "amount": 200, "category": "Salary", "type": "Income", "_id": "61f15af01a3c53dfa87e38f0" }, ] }

Quiero eliminar la transacción con un Id de 61f15af01a3c53dfa87e38ef

Probé el siguiente (no sé si es correcto)

 const allTransactions = await Transactions.findOne({ user: req.user._id }); const updatedTransactions = await allTransactions.update( { }, { $pull: { transactions: { id: req.params.id } } }, );

¿Alguien puede detectar el error y cómo puedo lograrlo?

Gracias por adelantado :)

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Puede hacerlo en una llamada a la base de datos usando la siguiente declaración:

 await Transactions.update( { user: "61f15af01a3c53dfa87e38e6" }, { $pull: { "transactions": { _id: "61f15af01a3c53dfa87e38f0" } } } )

Parque infantil Mongo

También asegúrese de que los tipos coincidan. Si _id es de tipo ObjectId en lugar de string , primero debe convertir req.params.id a ObjectId . Vea abajo:

 await Transactions.update( { user: mongoose.Types.ObjectId(req.user._id) }, { $pull: { "transactions": { _id: mongoose.Types.ObjectId(req.params.id) } } } )
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!