繁体   English   中英

优化-在Mongoose MongoDB模式中的所有字段上查找

[英]Optimization - find on all fields in Mongoose MongoDB schema

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

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

假设模式如下:

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

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

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

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

在2015年,它不受支持 ,这有什么变化吗?

正如@Veeram 建议那样

第1步:

创建文本索引

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

第2步:

使用文本索引搜索相关单词

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM