Đây là cấu trúc dữ liệu của tôi.Kiểm tra chuỗi rỗng trong mongodb và pymongo
[{
"name": "David",
"lastname": "",
},
{
"name": "Angela"
}]
"họ" đôi khi có mặt và đôi khi không có và đôi khi là "".
Tôi muốn nhận tất cả các hàng có họ không bằng "". Dường như không hiệu quả. Nó trả về cả hai hàng khi họ là "" và khi họ không có mặt. trong ví dụ trên tôi muốn chỉ nhận được nút David.
db.collection.find({"lastname": {"$ne": ""}})
dấu ngoặc kép quanh $ ne là cần thiết cho python. do đó, biểu thức {$ ne: ""} đánh giá là đúng cả khi level2_c là "" và khi nút level2_c không tồn tại để bắt đầu. Vì vậy, tôi phải lọc chúng ra như thế này {"level2_c": {"$ exist": True}, "level1_b.level2_c": {"$ ne": ""}}. điều này hoạt động nhưng trông hơi xấu xí. –
Tôi đã thử nghiệm từ vỏ mongo. Rất vui khi bạn tìm thấy câu trả lời đúng. – Kyle
Cảm ơn. Tôi làm rõ câu hỏi một chút. bạn có thể xem lại nó không là có một câu trả lời tốt hơn này: {"lastname": {"$ exist": True}, "lastname": {"$ ne": ""}}? –