mongodb - 如何将 json 字符串编码到 bson 文档以写入 MongoDB?

标签 mongodb go mgo

我正在查看的内容相当于 Document.parse()

在 golang 中,这允许我直接从 json 创建 bson 吗?我不想为编码创建中间 Go 结构

最佳答案

gopkg.in/mgo.v2/bson包有一个名为 UnmarshalJSON 的函数这正是你想要的。

data 参数应该将 JSON 字符串保存为 []byte 值。

 func UnmarshalJSON(data []byte, value interface{}) error

UnmarshalJSON unmarshals a JSON value that may hold non-standard syntax as defined in BSON's extended JSON specification.

例子:

var bdoc interface{}
err = bson.UnmarshalJSON([]byte(`{"id": 1,"name": "A green door","price": 12.50,"tags": ["home", "green"]}`),&bdoc)
if err != nil {
    panic(err)
}
err = c.Insert(&bdoc)

if err != nil {
    panic(err)
}

关于mongodb - 如何将 json 字符串编码到 bson 文档以写入 MongoDB?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39785289/

相关文章:

java - Scala:java.lang.VerifyError - 函数参数不兼容 - 运行时错误

go - golang 中的 make 和 initialize struct 有什么区别?

string - 如何 fmt.Printf 带有千位逗号的整数

mongodb - 模型结构中的嵌套文档

mongodb - 构建包含字符串和正则表达式模式的 $in 数组

mongodb - 将 mgo 与转换为 map[string]interface{} 的嵌套文档一起使用。如何遍历 map ?

mongodb - 如何检查MongoDB中的字段是[]还是{}?

mongodb - 从 Entity Framework 移植到 MongoDB

node.js - 如何用 Mongoose 只保存日期部分,而不是 ISODate 格式

arrays - revel 框架中索引如何以 1 开头