MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Abfrage nach einer Liste, die in einer anderen Liste in mongodb enthalten ist

Es gibt eine verwandte Frage Überprüfen Sie, ob jedes Element im Array der Bedingung entspricht mit einer Antwort mit einem netten Ansatz für dieses Szenario. Es bezieht sich auf eine Reihe von eingebetteten Dokumenten, kann aber wie folgt an Ihr Szenario angepasst werden:

db.list.find({ 
    "list" : { $not : { $elemMatch : { $nin : [1,2,3,4,5] } } },
    "list.0" : { $exists: true }
})

dh. die Liste darf kein Element haben, das nicht in [1,2,3,4,5] ist, und die Liste muss mit mindestens 1 Element existieren (vorausgesetzt, das ist auch eine Voraussetzung).