How to select only an element of an array within a Mongoose.find

Viewed 1590

Let's say I've got these values in database:

{
    name: '1',
    values: [{
        subname: 'awesome'
    }, {
        surname: 'cool'
    }]
}

how could I filter the array with only the value I'm interested in?

I would like to get as result of my find:

{
    name: '1',
    values: [{
        subname: 'awesome'
    }]
}

I thought maybe there is a possibility with select? Something like

MyCollection.find({name: '1'}).select(BLACK_MAGIC);

Where BLACK_MAGIC filters my array with the values I'm interested in, in this example values.subname = 'awesome'

Thx in advance for any ideas

Side note: I'm interesting to solve this with Mongoose queries and functions, not a solution with a post javascript on the resulting array

1 Answers
Related