MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Làm cách nào để tìm nạp dữ liệu từ bộ sưu tập MongoDB trong C # bằng Biểu thức chính quy?

Tôi khuyên bạn nên lưu trữ phiên bản chuẩn hóa dữ liệu của mình và lập chỉ mục / tìm kiếm trên đó. Nó có thể sẽ nhanh hơn đáng kể so với sử dụng regex. Chắc chắn, bạn sẽ ngốn thêm một chút dung lượng bộ nhớ bằng cách bao gồm "john" cùng với "John", nhưng quyền truy cập dữ liệu của bạn sẽ nhanh hơn vì bạn chỉ có thể sử dụng truy vấn $ eq tiêu chuẩn.

Nếu bạn nhấn mạnh vào regex, tôi khuyên bạn nên sử dụng ^ (đầu dòng) và $ (cuối dòng) xung quanh cụm từ tìm kiếm của bạn. Tuy nhiên, hãy nhớ rằng bạn nên thoát khỏi giá trị tìm thấy của mình để nội dung của nó không được coi là RegEx.

Điều này sẽ hoạt động:

string escapedFindValue = System.Text.RegularExpressions.Regex.Escape(findValue);
new BsonRegularExpression(string.Format("^{0}$", escapedFindValue), "i");

Hoặc nếu bạn đang sử dụng phiên bản khung mới hơn, bạn có thể sử dụng nội suy chuỗi:

string escapedFindValue = System.Text.RegularExpressions.Regex.Escape(findValue);
new BsonRegularExpression($"^{escapedFindValue}$", "i");



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Thiết lập dự án với Django 1.10, mongodb và Python 3.4.3

  2. Các lệnh gọi API vị trí địa lý đối với một API EVE RESTful

  3. Làm thế nào để ẩn _id khỏi Aggregation?

  4. cú pháp liên kết các tài liệu trong mongodb

  5. Nút không kết nối với Mongo nhiều lần