我有一块结构,我想将其写入 BSON 文件以执行mongoimport.
这是我在做什么的粗略想法(使用gopkg.in/mgo.v2/bson):
type Item struct {
ID string `bson:"_id"`
Text string `bson:"text"`
}
items := []Item{
{
ID: "abc",
Text: "def",
},
{
ID: "uvw",
Text: "xyz",
},
}
file, err := bson.Marshal(items)
if err != nil {
fmt.Printf("Failed to marshal BSON file: '%s'", err.Error())
}
if err := ioutil.WriteFile("test.bson", file, 0644); err != nil {
fmt.Printf("Failed to write BSON file: '%s'", err.Error())
}
这会运行并生成文件,但它的格式不正确 - 相反它看起来像这样(使用bsondump --pretty test.bson):
{
"1": {
"_id": "abc",
"text": "def"
},
"2": {
"_id": "abc",
"text": "def"
}
}
当我认为它应该看起来更像:
{
"_id": "abc",
"text": "def"
{
}
"_id": "abc",
"text": "def"
}
这可以在 Go 中完成吗?我只想生成一个.bson您希望mongodump命令生成的文件,以便我可以运行mongoimport和填充一个集合。
慕码人2483693
相关分类