Я пытаюсь выполнить полнотекстовый поиск на массив строк в Mongoose, и я получаю эту ошибку:полнотекстового поиска в узле JS с Mongoose
{ [MongoError: text index required for $text query]
name: 'MongoError',
message: 'text index required for $text query',
waitedMS: 0,
ok: 0,
errmsg: 'text index required for $text query',
code: 27 }
Однако, у меня есть текстовый индекс, объявленный в поле в пользовательской схеме, и я подтвердил, что текстовый индекс был создан, потому что я использую mLab. Я пытаюсь выполнить полнотекстовый поиск по полям
Вот моя схема Пользователь:
var userSchema = mongoose.Schema({
local: {
firstName: String,
lastName: String,
username: String,
password: String,
fields: {type: [String], index: true}
}
});
Вот мой код для полнотекстового поиска:
User.find({$text: {$search: search}}, function (err, results) {
if (err) {
console.log(err);
} else {
console.log(results);
}
});
Какая версия mogoose вы используете? – Mitchapp
В настоящее время с использованием Mongoose 4.7.0 – Jasch1
вам нужно создать текстовый индекс в ваших полях: [пример] (https://docs.mongodb.com/manual/reference/operator/query/text/#examples) –