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



我想使用Go更改Mongo DB中文档的顺序。我有有效的json字符串代码,我可以成功地将其封送到map[string]int中。这种类型的样本就像:CCD_ 2。该值按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驱动程序上的bug还是我错了?

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

最新更新