为了账号安全,请及时绑定邮箱和手机立即绑定

如何将primitive.M转换为映射[字符串]字符串然后转换为字符串?

如何将primitive.M转换为映射[字符串]字符串然后转换为字符串?

Go
慕婉清6462132 2022-06-27 15:08:31
我们如何将原始 M 转换为字符串?package mainimport (    "go.mongodb.org/mongo-driver/bson")func main() {    a := bson.M{ // primitive.M        "test": bson.M{            "fielda": "AAA",            "fieldb": "BBB",        },    }}我正在使用它来记录进程中失败的 mongodb 文档。我能够使用 打印值logrus.Error,我想将此转换复制为字符串,然后将其记录到文件中。// cursor = "go.mongodb.org/mongo-driver/mongo" *mongo.Cursor// logrus = "github.com/sirupsen/logrus"//...        var temp bson.M        _ := cursor.Decode(&temp)     // assume this is not returning error, it will log the map        logrus.Error("value: ", temp) // value: map[__v:0 _id:ObjectID(\"5c8ef7df7216e9935ecd7859\") field1:test]
查看完整描述

1 回答

?
拉莫斯之舞

TA贡献1820条经验 获得超10个赞

最简单的解决方案可能是这样使用fmt.Sprint():


a := bson.M{

    "_id": primitive.NewObjectID(),

    "test": bson.M{

        "fielda": "AAA",

        "fieldb": "BBB",

    },

}


s := fmt.Sprint(a)

fmt.Println(s)

这将输出(在Go Playground上尝试):


map[_id:ObjectID("4af9f07018f18fbf63f00366") test:map[fielda:AAA fieldb:BBB]]


查看完整回答
反对 回复 2022-06-27
  • 1 回答
  • 0 关注
  • 154 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信