C'è una domanda correlata Verifica se ogni elemento nell'array corrisponde alla condizione con una risposta con un approccio piacevole per questo scenario. Si riferisce a una serie di documenti incorporati ma può essere adattato al tuo scenario in questo modo:
db.list.find({
"list" : { $not : { $elemMatch : { $nin : [1,2,3,4,5] } } },
"list.0" : { $exists: true }
})
cioè. l'elenco non deve contenere alcun elemento che non sia in [1,2,3,4,5] e l'elenco deve esistere con almeno 1 elemento (supponendo che anche questo sia un requisito).