Để tìm document có mảng Subjects chứa "MongoDB" nhưng KHÔNG chứa "Java", dùng $and kết hợp $in và $nin.
Tạo collection demo140:
> db.demo140.insertOne({"Id":101,"Subjects":["MongoDB","MySQL"]});
> db.demo140.insertOne({"Id":102,"Subjects":["MongoDB","Java"]});
> db.demo140.insertOne({"Id":103,"Subjects":["MongoDB","PL/SQL"]});
> db.demo140.insertOne({"Id":104,"Subjects":["MongoDB","SQL Server"]});
> db.demo140.insertOne({"Id":105,"Subjects":["C","C++"]});
Truy vấn: Subjects có "MongoDB" ($in) VÀ không có "Java" ($nin):
> db.demo140.find({
$and: [
{Subjects: {$in: ['MongoDB']}},
{Subjects: {$nin: ['Java']}}
]
}).toArray();
Kết quả loại bỏ Id=102 (có Java):
[
{"_id":..., "Id":101, "Subjects":["MongoDB","MySQL"]},
{"_id":..., "Id":103, "Subjects":["MongoDB","PL/SQL"]},
{"_id":..., "Id":104, "Subjects":["MongoDB","SQL Server"]}
]