优化 - 查找Mongoose MongoDB架构中的所有字段

问题描述 投票:0回答:1

我们需要挑战我们的数据库方法并需要您的帮助

我们需要在Mongoose模式的所有字段中搜索单词/短语。

让我们说架构是这样的:

var sampleSchema = new Schema({
    fieldABC: String,
    fieldDEF: String,
    fieldGHI: String
});

我们需要编写一个查找查询,该查询将搜索集合文档中所有字段中的单词:

db.sampleCollection.find({
  $or: [{
    fieldABC: "wordToSearch"
  }, {
    fieldDEF: "wordToSearch"
  }, {
    fieldGHI: "wordToSearch"
  }]
})

我们可以编写上面的查询,但看起来非常低效 - 是否有更好更快的方法呢?

In the year 2015, it was not supported,这有什么变化吗?

javascript node.js mongodb performance mongoose
1个回答
0
投票

suggested作为@Veeram

Step 1:

创建一个text index

db.sampleCollection.createIndex( { "$**": "text" } )

Step 2:

使用文本索引搜索关注的单词

db.sampleCollection.find( { $text: { $search: "wordToSearch" } })
© www.soinside.com 2019 - 2024. All rights reserved.