m trying to write a mongoDB query to find documents matching given example:
I have collection of users
{
"userId": "1",
"visitedPlaces": [
{
"city": "Kair",
"country": "Egypt"
},
{
"city": "Paris",
"country": "France"
},
{
"city": "Kair",
"country": "Egypt"
},
]
},
{
"userId": "2",
"visitedPlaces": [
{
"city": "Kair",
"country": "Egypt"
},
{
"city": "Paris",
"country": "France"
},
{
"city": "Paris",
"country": "France"
}
]
}
I want to write a query that will return me users which visited 'Kair' twice and 'Paris' once (user "2" is not matching this case)
I have tried query like
.find({"visitedPlaces.city": { "$all": ["Kair", "Paris", "Kair"] }, "visitedPlaces": { "$size": 3 } })
but it returns both users.
Is there a way to write such query in mongo ?