user2189941
user2189941

Reputation: 775

deleting content from a particular collection

I have a JSON document like

{
"branch": [
    {
        "section": [
            {
                "sub": "edc",
                "time": "one hour",
                "frequency": "3"
            },
            {
                "sub": "bee",
                "time": "two hours",
                "frequency": "4"
            }
        ]
    },
    {
        "section": [
            {
                "sub": "ss",
                "time": "one hour",
                "frequency": "2"
            },
            {
                "sub": "ms",
                "time": "two hours",
                "frequency": "5"
            }
        ]
    }
]

}

Now I want to delete

{
  "sub": "edc",
  "time": "one hour",
  "frequency": "3"
}

using "sub":"edc" from the following collection

I want the query to perform changes in mongo db

Upvotes: 0

Views: 76

Answers (1)

sambomartin
sambomartin

Reputation: 6813

You need to use $pull, although i've not done it with nested array.

See http://docs.mongodb.org/manual/reference/operator/pull/

Something like: (but you'll need to test it)

db.yourcoll.update( { "branch.section.sub": 'edu' }, { $pull: { "branch.section.sub": 'edu' } } )

This is a similar question:

How to remove an element from a doubly-nested array in a MongoDB document

Upvotes: 2

Related Questions