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

Truy vấn MongoDB chỉ lấy giá trị FALSE

Để lọc các tài liệu có trường boolean mang giá trị false, dùng toán tử $ne (not equal) hoặc so sánh trực tiếp.

Ví dụ: Collection translateDefinitionDemo có trường isEnable:

> db.translateDefinitionDemo.insertOne({"_id":10,"StudentName":"Larry","isEnable":true});
> db.translateDefinitionDemo.insertOne({"_id":20,"StudentName":"Chris","isEnable":false});
> db.translateDefinitionDemo.insertOne({"_id":30,"StudentName":"Robert","isEnable":true});
> db.translateDefinitionDemo.insertOne({"_id":40,"StudentName":"Sam","isEnable":false});
> db.translateDefinitionDemo.insertOne({"_id":50,"StudentName":"Mike","isEnable":true});

Xem tất cả:

> db.translateDefinitionDemo.find().pretty();

Truy vấn chỉ lấy FALSE (cách 1 - dùng $ne):

> db.translateDefinitionDemo.find({ 
    "_id": { "$in": [10,20,30,40,50] }, 
    "isEnable": { "$ne": true } 
}).pretty();

Kết quả:

{ "_id" : 20, "StudentName" : "Chris", "isEnable" : false }
{ "_id" : 40, "StudentName" : "Sam", "isEnable" : false }

Cách 2 - So sánh trực tiếp (khuyên dùng):

> db.translateDefinitionDemo.find({ "isEnable": false }).pretty();

Kết quả tương tự. Cách 2 đơn giản và hiệu quả hơn.