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

Cách tốt nhất để thực hiện tìm kiếm toàn văn trong MongoDB và Mongoose

Bạn có thể thêm chỉ mục văn bản vào định nghĩa giản đồ Mongoose của mình để cho phép bạn sử dụng $text toán tử trong find của bạn truy vấn để tìm kiếm tất cả các trường có trong chỉ mục văn bản.

Để tạo chỉ mục hỗ trợ tìm kiếm văn bản, hãy nói, nameprofile.something :

var schema = new Schema({
  name: String,
  email: String,
  profile: {
    something: String,
    somethingElse: String
  }
});
schema.index({name: 'text', 'profile.something': 'text'});

Hoặc nếu bạn muốn bao gồm tất cả các trường chuỗi trong chỉ mục, hãy sử dụng '$**' ký tự đại diện:

schema.index({'$**': 'text'});

Điều này sẽ cho phép bạn thực hiện truy vấn tìm kiếm văn bản theo trang như:

MyModel.find({$text: {$search: searchString}})
       .skip(20)
       .limit(10)
       .exec(function(err, docs) { ... });

Để biết thêm chi tiết, hãy đọc toàn bộ tài liệu về Chỉ mục văn bản MongoDB.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. 'Không thể hủy liên kết lỗi tệp socket trong MongoDB 3.0

  2. XFS vs EXT4 - So sánh Hiệu suất MongoDB trên AWS EC2

  3. Định dạng ISODate từ Mongodb

  4. Tổng hợp theo múi giờ địa phương trong mongodb

  5. Cách quản lý mẫu cấu hình cho cơ sở dữ liệu của bạn với ClusterControl