У меня есть следующая схема:Mongoose не создает текстовый индекс
entrySchema = new mongoose.Schema({
size: { type: Number },
title: {type: String, trim: true },
content: { type: String, trim: true },
tags: { type: [String], trim: true, index: true },
author: { type: String, trim: true, index: true }
});
entrySchema.index({ title: "text", content: "text" });
module.exports = mongoose.model('Entry', entrySchema);
Проблема заключается в том, что мангуст не создает текстовые индексы. Однако индексы для тегов и автора создаются правильно.
Я использую функцию index()
неправильно?
У меня нет ошибок в сеансе mongod
. Он регистрирует успешное создание индекса для нетекстовых индексов, но кажется, что мангуст никогда не вызывает ensureIndex
для текстовых индексов.
Я думаю, что вы не можете создать составной индекс с двумя текстовыми индексами: «Компонентный текстовый индекс не может содержать другие специальные типы индексов, такие как поля с несколькими ключами или геопространственными индексами» (http: //docs.mongodb. org/manual/core/index-text/# text-index-compound) – joao
@joao, поскольку я понял, что это именно то, что нужно сделать, как описано в http://docs.mongodb.org/manual/tutorial/create- text-index-on-multiple-fields/ – codingFriend1
Вы совершенно правы. – joao