Sử dụng toán tử $exists kết hợp $ne: null để kiểm tra sự tồn tại của trường trong document.
Ví dụ minh họa
Tạo collection checkFieldExistDemo với các document có cấu trúc khác nhau:
> db.checkFieldExistDemo.insertOne({"MaNhanVien": 1, "TenNhanVien": "John", "DaKetHon": true, "Luong": 4648585});
> db.checkFieldExistDemo.insertOne({"MaSinhVien": 2, "TenSinhVien": "John", "DaKetHon": false, "TuoiSinhVien": 19});
Dữ liệu: Document 1 có trường Luong, Document 2 có trường TuoiSinhVien. Trường DaKetHon có trong cả hai.
Trường hợp 1: Trường xuất hiện trong nhiều document
> db.checkFieldExistDemo.find({"DaKetHon": {$exists: true, $ne: null}}).pretty();
Trả về cả hai document vì cả hai đều có trường DaKetHon.
Trường hợp 2: Trường chỉ xuất hiện trong một document
> db.checkFieldExistDemo.find({"TenSinhVien": {$exists: true, $ne: null}}).pretty();
Chỉ trả về document thứ 2 vì chỉ document này có trường TenSinhVien.
Mẹo: Chỉ cần {$exists: true} đã đủ để kiểm tra sự tồn tại, $ne: null bổ sung khi cần loại trừ trường tồn tại nhưng giá trị null.