Nếu bạn chỉ muốn số điện thoại bắt đầu từ số '3', bạn chỉ cần sử dụng quyết định thông minh của @mstearn , ở đây chỉ thực hiện c #:
var query = Query.EQ("PhoneNumber", new BsonRegularExpression("^3"));
Nhưng giả sử bạn cần truy vấn 3 số đầu tiên trong phạm vi 345 - 369 để làm cho nó hoạt động (không có toán tử chậm:$where
, $regex
) bạn có thể tạo trường bổ sung và lưu trữ ở đó 3 số đầu tiên (mã vùng) của điện thoại. Và sau đó sử dụng truy vấn do @yi đề xuất _H, đây một lần nữa nhận dạng trình điều khiển c #:
var query = Query.GTE("PhoneAreaCode", 345).LTE(369);
Đừng quan tâm đến phụ trường trong mongodb - đó là thực tế phổ biến. Các trường bổ sung thường hoạt động nhanh hơn bất kỳ phép tính nào trong quá trình truy vấn.