有时候我们想在collection里查找所有字段进行匹配,应该怎么做呢?
其实MongoDB已经提供了这个功能 ----------> $text
你需要做的只是多collection进行一次text配置即可
配置步骤
- 切换到你需要进行全局搜索的数据库,执行下面这个语句
> db.user.createIndex({"$**":"text"})
2.接下来你就可以进行全局搜索了
> db.user.find({'$text': {'$search': key}},{'password': 0})
> # key 为你要进行匹配的信息,mongo会在所有字段里进行查询
关于MongoDB的$text
$text 很强大,中英文十多钟语言搜索都支持,你还可以设置字母大小写是否敏感查询。
更多的资料可以官方文档中查阅
https://docs.mongodb.com/manual/reference/text-search-languages/#text-search-languages
关于全局模糊搜索
还在研究,后面补上,有知道的小伙伴可以在评论中留言