我想使用聚合将一些数据与 mongo-go-driver 进行分组,但是 json 结果让我感到困惑,因为行键替换为“Key”,并且真正的键成为“Key”的值var result primitive.Apipeline := mongo.Pipeline{{{"$group", bson.D{{"_id", "$nis"}}}}}cursor, err := db.NilaiUH.Aggregate(context.TODO(), pipeline)cursor.All(context.Background(), &result)json.NewEncoder(w).Encode(&result)这是结果[ [ { "Key": "_id", "Value": 15100 } ], [ { "Key": "_id", "Value": 15101 } ]]
1 回答
明月笑刀无情
TA贡献1828条经验 获得超4个赞
新版本的 MongoDB 驱动程序将空接口视为键和值的数组,而不是字符串和空接口之间的映射。我已使用以下代码纠正了该问题:
// register custom codec registry to handle empty interfaces
rb := bson.NewRegistryBuilder()
rb.RegisterTypeMapEntry(bsontype.EmbeddedDocument, reflect.TypeOf(bson.M{}))
client, err := mongo.NewClient(options.Client().ApplyURI(url).SetRegistry(rb.Build()))
- 1 回答
- 0 关注
- 94 浏览
添加回答
举报
0/150
提交
取消