首页 > 解决方案 > 如何使用 mongo 驱动程序在 Golang 中实现 MongoDB 自动完成?

问题描述

我正在尝试在 golang 中实现自动完成搜索,但我不断收到语法错误

contactsCollection := c.DB.Database("XYZ").Collection("contacts")

    result, err := contactsCollection.aggregate([{
            "$search": {
                "autocomplete": {
                    "query": searchQuery,
                    "path": "email",
                    "tokenOrder": "any"
                }
            }
        }
    ])

searchQuery是输入,电子邮件是我想要进行自动完成的字段。我假设我能够返回result

我在这里想念什么?

标签: mongodbgo

解决方案


查看一些关于如何在 Go 中使用 MongoDB 客户端的教程或文档。您将需要使用bson包来编写查询。

cursor, err := contactsCollection.Aggregate(ctx, bson.A{
    bson.M{"$search": bson.M{"autocomplete": bson.M{
        "query":      searchQuery,
        "path":       "email",
        "tokenOrder": "any",
    }}},
})
if err != nil {
    panic(err)
}
var results []MyDocument
err = cursor.All(ctx, &results)
if err != nil {
    panic(err)
}

推荐阅读