I use MongoDB v 4.2.17 where I have a collection of documents such as this:
[
{
a: 'a',
b: 'b',
c: ['apples', 'grapes']
},
{
a: 'a',
b: 'b',
c: ['elephants', 'apes']
}
]
I need to write a query that will return all documents, where any element of array c matches a regex provided.
I have a solution that matches the first element in the array:
db.collection.aggregate([{$match: {'c.0': {$regex: 'apes'} }}])
This query successfully matches documents where the first element in the array matches the regex.
I need to write an aggregation that would get the documents where any element in the array matches the regex.
I've tried this (didn't work)
db.collection.aggregate([{$match: {'c.$': {$regex: 'apes'} }}])
I need to use a regex and an aggregation, so a simple find won't work.
Thanks in advance.