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

Tìm kiếm trong mongo db bằng mongoose regex so với text

Vâng, cả regex và tìm kiếm văn bản ($ text) đều giúp bạn tìm kiếm trong văn bản rất hiệu quả. Cả hai đều có ưu và nhược điểm riêng, nhưng có hai điểm phân biệt rõ ràng

regex

  • Regex không tận dụng các chỉ mục, trừ khi bạn đang tìm kiếm ở đầu chuỗi bằng cách sử dụng ^ nhà điều hành.

  • Regex cho phép bạn tìm kiếm một phần văn bản. do đó. * và rất nhiều mẫu khác.

  • Regex không hỗ trợ các từ dừng hoặc nhiễu.

$ text

chỉ mục văn bản trong mongodb thực sự nhanh và nên được ưu tiên. Tuy nhiên, MongoDB không triển khai các chỉ mục văn bản đầy đủ tính năng. Một nhược điểm chính là, nó không hỗ trợ khớp từng phần. ví dụ. nếu bạn đang tìm kiếm mèo, nó sẽ chỉ tìm kiếm mèo và mèo chứ không tìm linh miêu hoặc sâu bướm.

Điểm mấu chốt là nếu bạn đang tìm cách triển khai tính năng như RDBMS like toán tử '$ text' sẽ không giúp được gì cho bạn (ít nhất là trong các triển khai hiện tại của MongoDB, nhưng trong tương lai nó có thể thay đổi).



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Tại sao mongoose sử dụng lược đồ khi lợi ích của mongodb được cho là nó không có lược đồ?

  2. $ addFields khi không tìm thấy $ phù hợp

  3. MongoDB trên AWS:Làm thế nào để Chọn Loại Phiên bản EC2 Phù hợp cho Máy chủ MongoDB của bạn?

  4. MongoDB $ dayOfYear

  5. Những lý do nên và không nên chuyển từ máy chủ SQL sang MongoDB