我们需要挑战我们的数据库方法并需要您的帮助
我们需要在Mongoose模式的所有字段中搜索单词/短语。
让我们说架构是这样的:
var sampleSchema = new Schema({
fieldABC: String,
fieldDEF: String,
fieldGHI: String
});
我们需要编写一个查找查询,该查询将搜索集合文档中所有字段中的单词:
db.sampleCollection.find({
$or: [{
fieldABC: "wordToSearch"
}, {
fieldDEF: "wordToSearch"
}, {
fieldGHI: "wordToSearch"
}]
})
我们可以编写上面的查询,但看起来效率很低 - 是否有更好更快的方法呢?
答案 0 :(得分:0)
db.sampleCollection.createIndex( { "$**": "text" } )
使用文本索引搜索关注的单词
db.sampleCollection.find( { $text: { $search: "wordToSearch" } })