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

135
Views
MongoDB - Remove object from SubArray

I'm trying to remove an object from a subarray with no luck getting updateOne() is not a function and remove() is not function.

I want to remove the 'subcat 1' object with id of '61cae5daf5bfbebd7cf748ef':

[
 {
     _id: '61cae5daf5bfbebd7cf748ee'
     title: 'category 1',
     SubCats: [
         {
             _id: '61cae5daf5bfbebd7cf748ef'
             name: 'subcat 1',
             image: '/assets/images/vr-box-6203301_1920.jpg',
         },
         {
             _id: '61cae5daf5bfbebd7cf748fb'
             name: 'subcat 2',
             image: '/assets/images/galaxy-s20_highlights_kv_00.jpg',
         },
     ]
 },
]

Please help

Controller:

const deleteSubCategory = asyncHandler(async (req, res) => {
 const subCategory = await Category.aggregate([
     { $unwind: "$SubCats" }, 
     { $replaceRoot: { newRoot: '$SubCats'} }, 
     { $match: { _id: ObjectId(req.params.id) }}
 ])

 if (subCategory) {
     await subCategory.updateOne({ $pull: {_id: ObjectId(req.params.id)}})
    res.json({ message: 'sub-category removed' })
 } else {
     res.status(404)
     throw new Error('sub-Category not found')
 }
})
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

$update with $pull

db.collection.update({
  "SubCats._id": "61cae5daf5bfbebd7cf748ef"
},
{
  "$pull": {
    SubCats: {
      _id: "61cae5daf5bfbebd7cf748ef"
    }
  }
},
{
  "multi": true
})

mongoplayground

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!