Devi annidare il $elemMatch
operatori in modo che corrispondano ai livelli nidificati dei tuoi array in modo che corrispondano all'elemento:
db.coll.find({
"categories": {
"$elemMatch": {
"values": {
"$elemMatch": {
"$elemMatch": { "$in": ["A"] }
}
}
}
}
})