Sử dụng toán tử $all để tìm document có mảng chứa tất cả các phần tử chỉ định.
Ví dụ minh họa
Tạo collection findByMultipleArrayDemo:
> db.findByMultipleArrayDemo.insertOne({"HoSinhVien": "John", "TenSinhVien": "Smith", "MonHocChuyenNganh": ["Compiler", "Operating System", "Computer Networks"]});
> db.findByMultipleArrayDemo.insertOne({"HoSinhVien": "Carol", "TenSinhVien": "Taylor", "MonHocChuyenNganh": ["MongoDB", "MySQL", "SQL Server"]});
> db.findByMultipleArrayDemo.insertOne({"HoSinhVien": "Bob", "TenSinhVien": "Taylor", "MonHocChuyenNganh": ["MongoDB", "MySQL", "SQL Server"]});
> db.findByMultipleArrayDemo.insertOne({"HoSinhVien": "David", "TenSinhVien": "Johnson", "MonHocChuyenNganh": ["Compiler", "Operating System", "Computer Networks"]});
Tìm sinh viên học CẢ "Compiler" VÀ "Computer Networks"
> db.findByMultipleArrayDemo.find({MonHocChuyenNganh: {$all: ["Compiler", "Computer Networks"]}}).pretty();
Kết quả: John Smith và David Johnson (cả hai có đủ 2 môn). Carol và Bob không có môn Compiler.
Khác với $in: $in = OR (có ít nhất 1), $all = AND (phải có tất cả).
Hiệu năng: $all có thể dùng index trên trường mảng.