首页 > 解决方案 > 如何 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

标签: mongodbgo

解决方案


推荐阅读