我正在通过mongoose使用自定义名称在集合上创建文本索引,但我不知道如何查询特定的文本索引,或者是否可以在单个集合上有多个文本索引。
我指定了一个索引:
mongoose.connection.collections['jobs'].ensureIndex({ title: 'text', description: 'text' }, { name: 'customtext' });我可以使用通用的$text查询搜索它:
var query = {
"$text": {
"$search": "bleep bloop"
}
}
Model.find(query, function(error, results) {});但是,是否有一种方法可以添加多个不同的文本索引(用于不同的搜索)并按自定义名称进行查询?
发布于 2016-01-27 00:44:33
MongoDB集合可以有最多一个文本索引。不能为单个集合定义多个文本索引。
发布于 2016-01-27 00:57:41
您可以有多个具有不同名称的文本索引,但是索引的名称可以主要用于删除索引。
示例:
db.collection.ensureIndex(
{ content: "text"},
{ name: "TextIndex"}
)
db.collection.dropIndex("TextIndex")https://stackoverflow.com/questions/35024942
复制相似问题