0

I have a model like this

{
    _id: '5a7745529c69b22fe5d6f321',
    array: [{
        name: 'a',
        something: 'something1'
    },{
        name: 'b',
        something: 'something2'
    },{
        name: 'a',
        something: 'something2'
    }]
}

And I need to get all the embedded documents with name a

The output must be
    [{
        name: 'a',
        something: 'something1'
    },{
        name: 'a',
        something: 'something2'
    }]

when I use unwind it's giving the array key for each document. I want the output exactly as above. How can I achieve this?

1 Answers1

0

Try;

db.collection_name.aggregate([
 { $unwind : “$array” },
 { $match : { name : “a” } },
 { $project : { _id : 0, array : 1 } }
 ])