Здесь в игру вступает агрегатная функция mongodb.
Допустим, есть база данных, называемая книгами, и мы хотим получить книги, содержащие в себе, скажем, ['fantasy', 'sci-fi']жанры
db.book.aggregate([{
$match:{
genres:{
$in:['fantasy', 'sci-fi']
}
}
}])
это даст желаемый результат, найдя все книги, содержащие либо фантастику, либо scifi
db.book.aggregate([{
$match:{
genres:{
$all:['fantasy', 'sci-fi']
}
}
}])
Это позволит получить все книги, имеющие жанры с обоими фантазиямии sf
db.book.aggregate([{
$match:{
genres:{
$nin:['fantasy', 'sci-fi']
}
}
}])
При этом будут выбраны все книги, у которых нет этих значений