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

Kiểm tra hai giá trị bên ngoài có bằng nhau trong criteria MongoDB

Để kiểm tra hai giá trị bên ngoài, sử dụng $type với biểu thức điều kiện. Tạo collection:

> db.demo211.insertOne({id:101,"Name":"Chris"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e3e298203d395bdc21346fa") }
> db.demo211.insertOne({id:102,"Name":null});
{ "acknowledged" : true, "insertedId" : ObjectId("5e3e2a5403d395bdc21346fb") }

Hiển thị tài liệu:

> db.demo211.find();

Kết quả:

Kiểm tra nếu v1 === v2 (cả hai = 200) thì tìm Name kiểu string (type 2), ngược lại tìm null (type 10):

> v1=200; v2=200;
> db.demo211.find({Name: 'Chris', Name: { $type: 1 + (v1 === v2) }});

Kết quả - vì v1===v2=true (1), 1+1=2 (type string), khớp "Chris":

Giải thích: $type nhận mã loại BSON: 1=double, 2=string, 10=null. Biểu thức 1 + (v1 === v2) đánh giá thành 2 khi true (string), 1 khi false (double). Đây là kỹ thuật nâng cao, ít dùng trong thực tế.