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

sắp xếp mongodb và truy vấn regex theo cách hiệu quả

Bạn có thể thử tạo chỉ mục văn bản trên country_lc , region_lccity_lc lĩnh vực:

db.reviews.ensureIndex( { "country_lc": "text" } )
db.reviews.ensureIndex( { "region_lc": "text" } )
db.reviews.ensureIndex( { "city_lc": "text" } )

Chỉ số văn bản là một tính năng mới trong MongoDB 2.4. Chúng đã được thêm vào để hỗ trợ tìm kiếm văn bản của nội dung chuỗi trong các tài liệu của một bộ sưu tập. Vui lòng xem tài liệu chính thức để biết các gợi ý về hiệu suất.

Hơn nữa, bạn có thể thử viết lại truy vấn dưới dạng

db.location.find(
     { "docType": {"$in": [ "country", "region", "city" ]},
       "$or": [
         { "country_lc": /^unit/ },
         { "region_lc": /^unit/ },
         { "city_lc": /^unit/ },
       ]
    }, 
    { "country": 1, "region": 1, "city": 1, "docType" :1 }
   ).sort({ "country_lc" :1, "region_lc": 1, "city_lc":1 })

( Thận trọng :Đây là, hoặc không, tương đương với truy vấn của bạn, tùy thuộc vào cấu trúc của tài liệu.)



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Chỉ trả về giá trị mảng trong phép chiếu mongo

  2. Tạo, đọc, cập nhật, xóa dữ liệu bằng cách sử dụng Node.js - Mongoose

  3. Tìm kiếm trong Mongoose / mongoDb nơi tôi cần các giá trị của thuộc tính chưa được phổ biến

  4. Spring Boot và cách cấu hình chi tiết kết nối với MongoDB?

  5. Lọc Năm tháng từ tài liệu Mongo