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

时间:2017-12-21 17:15:18

标签: javascript node.js mongodb performance mongoose

  

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

我们需要在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,这有什么变化吗?

1 个答案:

答案 0 :(得分:0)

suggested@Veeram

第1步:

创建text index

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

第2步:

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

db.sampleCollection.find( { $text: { $search: "wordToSearch" } })