MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Richiedere un elenco contenuto in un altro elenco in mongodb

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).