猿问

如何在 Golang 中从 MongoDB 的 bson.M 生成多行字符串值?

我正在使用 Golang 创建一个电报机器人,我需要一些关于如何从 Golang 中的函数检索多行字符串值的建议,它具有与此 Python 字符串相同的逻辑


answer = """1 John 95

2 Sam 89

3 Mike 72"""

我有一个创建 MongoDB 请求的函数,该请求为我获取 bson.M 数据类型的数据。之后,我需要使用这种形式将查询到的数据作为单个字符串值发送给用户:


msg := tgbotapi.NewMessage(

    update.Message.Chat_ID,

    answer,

)

bot.Send(msg)

我真的不知道如何将这个 bson.M 数据转换成一个多行字符串。


我从函数中得到的 bson.M 响应:


[map[_id:ObjectID("62a4acf2a494a2814238c6e1") bandMember:John name:School12 points:95] 

map[_id:ObjectID("62a4acf2a494a2814238c6e2") bandMember:Sam name:School15 points:89] 

map[_id:ObjectID("62a4acf2a494a2814238c6e3") bandMember:Mike name:School7 points:72]]

我必须将它插入到“answer”的字符串变量中(见上例)


白猪掌柜的
浏览 110回答 1
1回答

翻阅古今

遍历文档并为每个文档打印一行。用换行符连接行以获得最终结果。var lines []stringfor i, m := range data {    lines = append(lines, fmt.Sprintf("%d %s %d", i+1, m["bandMember"], m["points"]))}result := strings.Join(lines, "\n")
随时随地看视频慕课网APP

相关分类

Go
我要回答