Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MongoDB

Kiểm tra trường có tồn tại trong MongoDB

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.