登录
首页 >  Golang >  Go问答

Mongo Go 驱动中使用 SetSort 时出现接口转换错误

来源:stackoverflow

时间:2024-03-10 15:48:18 219浏览 收藏

从现在开始,努力学习吧!本文《Mongo Go 驱动中使用 SetSort 时出现接口转换错误》主要讲解了等等相关知识点,我会在golang学习网中持续更新相关的系列文章,欢迎大家关注并积极留言建议。下面就先一起来看一下本篇正文内容吧,希望能帮到你!

问题内容

我想使用 go 更改我的文档在 mongo db 中的顺序。我有有效的 json 字符串代码,我可以将其成功编组到 map[string]int。这种类型的样本就像: [{year 1}, {lastupdated -1}]。该值显示顺序为 year 字段升序,lastupdated 字段降序。这个结构是 mongodb 可以理解的一个方面。我还将这些数据传递给 bson.d 类型。这是我的代码:

if queries["order"] != nil {
        var unmarshalledOrder map[string]int
        json.Unmarshal(queries["order"].([]byte), &unmarshalledOrder)

        docRes := make(bson.D, 0)
        for field, sort := range unmarshalledOrder {
            docRes = append(docRes, bson.DocElem{field, sort})
        }

        log.Println(docRes)
    }

当我打印 docres 时,一切顺利。但我将数据传递给 options.sort 函数,该函数抛出 interface conversion: interface {} is runtime.errorstring, not string 恐慌。这是 mongo go 驱动程序的错误还是我错了?


解决方案


您可以发布您编写的使用该驱动程序的代码吗?基于 bson.DocElem 的使用,我认为您正在使用 mgo,但 mgo 的 Query.Sort 方法接受字符串,而不是文档(https://pkg.go.dev/github.com/globalsign/mgo?tab=doc#Query.Sort)。

终于介绍完啦!小伙伴们,这篇关于《Mongo Go 驱动中使用 SetSort 时出现接口转换错误》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布Golang相关知识,快来关注吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>