Você pode fazer isso combinando vários operadores:
db.test.find({tags: {$not: {$elemMatch: {$nin: ['Rad', 'Cool']}}}})
O
$elemMatch
com o $nin
é encontrar os documentos onde uma única tags
elemento não é 'Rad' nem 'Cool', e então o pai $not
inverte a correspondência para retornar todos os documentos em que não correspondeu a nenhum elemento. No entanto, isso também retornará documentos onde
tags
está faltando ou não tem elementos. Para excluir aqueles, você precisa adicionar um qualificador que garanta tags
tem pelo menos um elemento:db.test.find({
tags: {$not: {$elemMatch: {$nin: ['Rad', 'Cool']}}},
'tags.0': {$exists: true}
})