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

Lỗi chỉ mục văn bản MongoDB:không hỗ trợ ghi đè ngôn ngữ

Giải pháp:

Đặt default_language language_override thành cùng một giá trị chữ (trong trường hợp của bạn là "vi").

Làm sao tôi đến được đây ...

Tôi gặp vấn đề tương tự, cũng trên Mongo 2.6.1.

Trong trường hợp của tôi, tôi đã tạo chỉ mục bằng language_override trỏ đến trường ngôn ngữ nơi đã có các tài liệu có giá trị không được hỗ trợ (ví dụ:'ar' - tiếng Ả Rập).

Đây là cách tôi tạo chỉ mục:

db.users.ensureIndex({ 
  "displayName": "text", 
  "about": "text", 
  "email": "text" 
}, { 
  "name": "users_full_text", 
  "default_language": "en",
  "language_override": "language"
});

Tôi đã hy vọng nó sẽ trở lại default_language khi language_override giá trị không được hỗ trợ, nhưng dường như không. Đây là những gì Mongo nói:

{
  "createdCollectionAutomatically" : false,
  "numIndexesBefore" : 3,
  "ok" : 0,
  "errmsg" : "language override unsupported: ar",
  "code" : 17262
}

OK, tốt thôi, vì vậy chỉ mục chưa được tạo nhưng tôi có thể tạo nó mà không có language_override, phải không? Sai - mongo cung cấp cho tôi lỗi tương tự mặc dù tôi không còn chỉ định language_override nữa .

Nỗ lực tạo chỉ mục không thành công dường như đã để lại một số phiên bản bị hỏng của chỉ mục không hiển thị ở bất kỳ đâu nên tôi không thể bỏ nó (nó không xuất hiện trong db.users.getIndexes () và bỏ tên nó không hoạt động).

Cuối cùng, tôi đã sửa được chỉ mục bằng cách đặt language_override thành giá trị chữ 'en', như thế này:

db.users.ensureIndex({ 
  "displayName": "text", 
  "about": "text", 
  "email": "text" 
}, { 
  "name": "users_full_text", 
  "default_language": "en",
  "language_override": "en" 
});  

... mà Mongo trả lời:

{
  "createdCollectionAutomatically" : false,
  "numIndexesBefore" : 3,
  "numIndexesAfter" : 4,
  "ok" : 1
}

Tiếng hoan hô.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Không kết nối được Mongoose với Atlas

  2. ClusterControl Hiệu suất và Giám sát Sức khỏe

  3. Làm cách nào để kiểm tra các tài liệu trùng lặp trong Mongoose?

  4. Triển khai và giám sát cơ sở dữ liệu nguồn mở miễn phí với ClusterControl Community Edition

  5. Mongoose sắp xếp theo trường phổ biến