I'm trying to write a query that return all documents where descrtratt: "Chemioterapia" and nomemed: "null".
This is what I tried:
db.pazienti.find({terapie: {$elemMatch: {descrtratt: "Chemioterapia", nomemed: "null"}}})
The query I wrote, however, returns documents where at least one element of the terapie array match, what I want is return all documents where ALL the elements of the terapie array match.
Considering these 4 inputs documents below, the returned documents should be only the 2nd and the 4th one. My query returns all 4 documents instead, how should I fix it?
{
"codf": "001",
"nome": "Michelangelo",
"cognome": "Milani",
"terapie": [
{
"descrtratt": "Chemioterapia",
"nomemed": "null",
},
{
"descrtratt": "Chemioterapia",
"nomemed": "Busulfano",
}
]
}
{
"codf": "004",
"nome": "Gigio",
"cognome": "Battisti",
"terapie": [
{
"descrtratt": "Chemioterapia",
"nomemed": "null",
},
{
"descrtratt": "Chemioterapia",
"nomemed": "null",
}
]
}
{
"codf": "007",
"nome": "Giovanni",
"cognome": "Bomba",
"terapie": [
{
"descrtratt": "Chemioterapia",
"nomemed": "null",
},
{
"descrtratt": "Radioterapia",
"nomemed": "null",
}
]
}
{
"codf": "023",
"nome": "Luca",
"cognome": "Agostinelli",
"terapie": [
{
"descrtratt": "Chemioterapia",
"nomemed": "null",
}
]
}