繁体   English   中英

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

[英]Mongo Go Driver is getting interface conversion error when SetSort used

我想使用 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的使用,我认为您使用的是bson.DocElem ,但是 mgo 的Query.Sort方法采用字符串,而不是文档(https://pkg.go.dev/github.com/globalsign/mgo?tab=doc #Query.Sort )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM