Il y a une question connexe Vérifier si chaque élément du tableau correspond à la condition avec une réponse avec une belle approche pour ce scénario. Il fait référence à un tableau de documents intégrés mais peut être adapté à votre scénario comme ceci :
db.list.find({
"list" : { $not : { $elemMatch : { $nin : [1,2,3,4,5] } } },
"list.0" : { $exists: true }
})
c'est à dire. la liste ne doit avoir aucun élément qui ne soit pas dans [1,2,3,4,5] et la liste doit exister avec au moins 1 élément (en supposant que c'est aussi une exigence).