亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么 mongo-go-driver 聚合結果對象鍵返回為“Key”

為什么 mongo-go-driver 聚合結果對象鍵返回為“Key”

Go
慕森王 2023-06-26 17:17:17
我想使用聚合將一些數據與 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()))


查看完整回答
反對 回復 2023-06-26
  • 1 回答
  • 0 關注
  • 131 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號