![](/img/trans.png)
[英]How do I deserialize output from mongo-go-driver as bson array into a []interface{} when primitive.A is bson []interface
[英]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.