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

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

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

Go
白猪掌柜的 2022-12-19 21:09:50
我正在使用 Golang 创建一个电报机器人,我需要一些关于如何从 Golang 中的函数检索多行字符串值的建议,它具有与此 Python 字符串相同的逻辑answer = """1 John 952 Sam 893 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”的字符串变量中(见上例)
查看完整描述

1 回答

?
翻阅古今

TA贡献1780条经验 获得超5个赞

遍历文档并为每个文档打印一行。用换行符连接行以获得最终结果。


var lines []string

for i, m := range data {

    lines = append(lines, fmt.Sprintf("%d %s %d", i+1, m["bandMember"], m["points"]))

}

result := strings.Join(lines, "\n")


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

添加回答

举报

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