将字符串切片转换为BSON数组

我正在尝试使用Go将数组插入MongoDB实例。 我在Go中有 []字符串</ code>切片,并希望将其转换为 BSON </ code>数组,以便使用 github.com/mongodb/mongo将其传递给数据库 -go-driver </ code>驱动程序。</ p>

  var结果bson.Array 
为_,数据:=范围myData {
值:= bson.VC.String (数据)
结果。追加(值)
}
</ code> </ pre>

这会遍历我输入数据的每个元素,并尝试将其附加到 BSON </ code>数组。 但是,带有 Append()</ code>的行以 panic失败:document为nil </ code>。 我应该如何进行转换?</ p>
</ div>

展开原文

原文

I am trying to insert an array into a MongoDB instance using Go. I have the [] string slice in Go and want to convert it into a BSON array to pass it to the DB using the github.com/mongodb/mongo-go-driver driver.

var result bson.Array
    for _, data := range myData {
        value := bson.VC.String(data)
        result.Append(value)
}

This loops over each element of my input data and tries to append it to the BSON array. However the line with the Append() fails with panic: document is nil. How should I do this conversion?

dsmvqp3124
dsmvqp3124 您是否尝试过NewArray()?参见示例godoc.org/github.com/mongodb/mongo-go-driver/bson#example-Array
接近 2 年之前 回复

1个回答



编辑:问题和此答案中的代码不再相关,因为bson.Array类型已从包中删除。 在进行此编辑时, bson.A </ a >和基本切片操作应用于构造数组。 </ p>

使用工厂函数 NewArray 创建数组:</ p>

 结果:= bson.NewArray()
对于_,data:= range myData {
value:= bson。 VC.String(数据)
结果。追加(值)
}
</ code> </ pre>
</ div>

展开原文

原文

Edit: The code in the question and this answer is no longer relevant because the bson.Array type was deleted from the package. At the time of this edit, the bson.A and basic slice operations should be used to construct arrays.

Use the factory function NewArray to create the array:

result := bson.NewArray()
for _, data := range myData {
        value := bson.VC.String(data)
        result.Append(value)
}

dpd7195
dpd7195 这似乎不再起作用,并且您的NewArray链接仅位于文档页面的顶部。
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问