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

Mongodb:Alle Dokumente finden, bei denen mindestens ein Array-Element nicht übereinstimmt?

Sie können dies tun, indem Sie Ihr $nin umschließen in einem $elemMatch Operator, sodass der $nin wird separat auf jedes Element von sections angewendet statt der Menge der Elemente als Gruppe:

Group.find({ sections: { $elemMatch: { $nin: archived_sections } } })
    .exec(function(err, groups){
        res.send(groups);
    }
);

Wenn mindestens ein Element den $elemMatch erfüllt Abfrage, das Dokument stimmt überein.