mongodb - 如何 mongo-driver 文本搜索
问题描述
我在用go.mongodb.org/mongo-driver
我想通过 $search 在 mongo atlas 中搜索。我想找到一种从所有字段中搜索文本的方法
func FindHuman(){
clientOptions := options.Client().ApplyURI(os.Getenv("DB"))
client, err := mongo.Connect(context.TODO(), clientOptions)
if err != nil {
return nil, err
}
db := client.Database("back_office").Collection("Human")
search := bson.M{"$text": bson.M{"$search": "John"}}
cur, err := db.Find(context.TODO(), search)
var humans []humanStruck
var human humanStruck
for cur.Next(context.Background()) {
err = cur.Decode(&human)
humans = append(humans, human)
}
fmt.Println(humans)
}
但是我收到以下错误
(IndexNotFound) text index required for $text query
解决方案
推荐阅读
- django - 如何在 Django 中为通用/抽象模型创建管理 mixin
- node.js - React Native 中的 CoAP 服务器
- java - 选择列表不显示值和文本
- bash - 如何在 atd 中声明变量?
- python - werkzeug.filestorage.stream 和 werkzeug.filestorage.read() 有什么区别?
- vue.js - 如何渲染递归表 vuejs + vuetify?
- javascript - 防止原始数组值在作为函数参数 javascript 传递时发生变化
- gatsby - 如何防止 gatsby 从 WordPress 下载远程文件?
- javascript - 在 Crafty.js 中以实体为中心?
- node.js - .catch((err) => { 在第一个括号处出错