我想使用 Go 在 Mongo DB 中更改我的文档的顺序。我有有效的 json 字符串代码,我可以将它成功编码到 map[string]int
.这种类型的样本就像:[{year 1}, {lastupdated -1}]
.值(value)呈现订单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
panic 。这是mongo go驱动程序的错误还是我错了?
最佳答案
您可以发布您编写的使用驱动程序的代码吗?基于 bson.DocElem
的使用,我想你用的是mgo,但是mgo的Query.Sort
方法接受字符串,而不是文档( https://pkg.go.dev/github.com/globalsign/mgo?tab=doc#Query.Sort )。
关于mongodb - 使用 SetSort 时,Mongo Go 驱动程序出现接口(interface)转换错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60314698/