首页 文章

如何在Go中将bson.Binary转换为[]字节

提问于
浏览
-1

我正在编写一个小型应用程序,它从网络(不是MongoDB)接收BSON格式的消息,并且必须将字段保存在本地机器上的文件中 . 我正在使用gopkg.in/mgo.v2/bson进行消息解组,它运行正常 .

几乎一切都有效,除了一个 . 消息中有“userdefined”二进制字段,我必须将其保存到单独的文件中 . 我试过用:

var pwr = msg["pwr"].([]byte)

但得到了一个“错误恐慌:界面转换:界面是bson.Binary,而不是[] uint8” .

有人能指出一个如何将bson.Binary转换为[]字节的例子,所以我可以将它保存到文件中 .

1 回答

  • 0

    这样做你想要的:

    pwr := bson.Binary(msg["pwr"].(bson.Binary)).Data
    

    但是假设msg [“pwr”]不能是bson.Binary以外的任何东西...如果那不是一个不变量你应该先做类型断言(当它发生时处理可能的类型不匹配的情况)然后强制转换得到数据字段 .

相关问题