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

Cách VÀ và KHÔNG trong tìm kiếm văn bản MongoDB $

Có một số tùy chọn mà bạn có thể sử dụng với tìm kiếm văn bản để phù hợp với những nhu cầu đó. Xem xét các tài liệu sau:

{ "text" : "cake" }
{ "text" : "sale" }
{ "text" : "sale cake" }
{ "text" : "cake sale" }
{ "text" : "dress sale" }
{ "text" : "cake sale monday" }

"Danh sách" từ mặc định là hoặc bao gồm, nhưng nếu bạn không phải là bao gồm bạn "trích dẫn" các từ:

db.words.find( { "$text": { "$search": "\"cake\" \"sale\"" } },{_id: 0})
{ "text" : "cake sale" }
{ "text" : "sale cake" }
{ "text" : "cake sale monday" }

Nếu bạn muốn loại trừ một từ thì bạn đặt tiền tố bằng - :

db.words.find( { "$text": { "$search": "\"cake\" \"sale\" -monday" } },{_id: 0})
{ "text" : "cake sale" }
{ "text" : "sale cake" }

Và nếu bạn muốn một phần của điều đó dưới dạng cụm từ chính xác thì bạn "trích dẫn" toàn bộ cụm từ:

db.words.find( { "$text": { "$search": "\"cake sale\" -monday" } },{_id: 0})
{ "text" : "cake sale" }

Mặc dù vậy, việc bắt nguồn từ có một vấn đề, vì vậy:

db.words.find( { "$text": { "$search": "test -testing" } },{_id: 0})

Sẽ không thực sự trả về một kết quả.

Xem tài liệu về $text toán tử cho các ví dụ. Không phải tất cả đều ở đó vào lúc này, nhưng nó đang ngày càng tốt hơn.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongodb không thể kết nối với máy chủ

  2. mongoDB / mongoose:duy nhất nếu không phải null

  3. MongoDB C # Driver 2.0 - Cập nhật tài liệu

  4. Phần còn lại của dữ liệu khởi động mùa xuân, ràng buộc @Notnull không hoạt động

  5. Thêm trường không có trong giản đồ với mongoose