第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在golang中向mongodb插入一個json對象數(shù)組

如何在golang中向mongodb插入一個json對象數(shù)組

Go
幕布斯7119047 2021-11-29 19:14:33
我的 json 如下所示,[  {    "key1": 1,    "key2": "val2"  },  {    "key1": 2,    "key2": "val2"  }]這個json采用字符串格式,我希望json數(shù)組中的對象作為mongodb中的單個記錄插入。我參考了https://labix.org/mgo,但無法在上述用例中找到足夠的示例。感謝您在尋找解決方案時的想法。
查看完整描述

3 回答

?
HUH函數(shù)

TA貢獻1836條經(jīng)驗 獲得超4個贊

將 JSON解組到 []interface{}并將結(jié)果插入到數(shù)據(jù)庫中。假設它c是一個mgo.Collection并且data是一個包含 JSON 值的 []byte,請使用以下代碼:


var v []interface{}

if err := json.Unmarshal(data, &v); err != nil {

   // handle error

}

if err := c.Insert(v...); err != nil {

   // handle error

}


查看完整回答
反對 回復 2021-11-29
?
翻過高山走不出你

TA貢獻1875條經(jīng)驗 獲得超3個贊

在這個例子中,我將存儲混合數(shù)組


測試字符串:= '[[1,"a","b",2,"000000",[[1,2,3],[1,2,3]],"\"x","[y","'z",[[1,2,3],[1,2,3]]]]'


在 mongodb 中作為 json:


{datum: [[1,"a","b",2,"000000",[[1,2,3],[1,2,3]],"\"x","[y","'z",[[1,2,3],[1,2,3]]]]}


package main


import (

    "strings"

    "context"

    "encoding/json"

    "fmt"

    "log"

    "net/http"

    

    "go.mongodb.org/mongo-driver/bson"

    "go.mongodb.org/mongo-driver/bson/primitive"

)




type datum2 struct {

    Datum interface{} `json:datum`

}






var userCollection = db().Database("goTest").Collection("users") // get collection "users" from db() which returns *mongo.Client


func typeinterface2mongo() {

    

    

    var datum2 datum2_instance

    var interfacevalue []interface{}

    

    test_string := `[[1,"a","b",2,"000000",[[1,2,3],[1,2,3]],"\"x","[y","'z",[[1,2,3],[1,2,3]]]]`

    if err := json.Unmarshal([]byte(test_string), &interfacevalue); err != nil {

        fmt.Println(err)

        return

    }

    

    fmt.Println(test_string)

    fmt.Println(interfacevalue)

    datum2_instance.Datum=interfacevalue

    userCollection.InsertOne(context.TODO(), datum2_instance)

    fmt.Println(datum2_instance)

    fmt.Println(datum2_instance.Datum)  

}



查看完整回答
反對 回復 2021-11-29
?
偶然的你

TA貢獻1841條經(jīng)驗 獲得超3個贊

如果您已經(jīng)有 json 數(shù)據(jù),請從第 2 步開始操作。


如果您先有 Xml 數(shù)據(jù),則需要使用此包(“github.com/basgys/goxml2json”)轉(zhuǎn)換為 json 格式


 type JsonFileResponse struct {

    JsonData string        `bson:"JsonData " json:"JsonData"`

}


step 1: jsonData, err := xml2json.Convert(xml)

        if err != nil {

            panic("getting error while converting xml to json",err)

        }


step 2: session need to open by using your mongodb credentials.


    collection := session.DB("database name").C("Collection Name")

    err = collection.Insert(JsonFileResponse{JsonData :json.String()})

    if err != nil {

        log.Fatal(err)

    } 


查看完整回答
反對 回復 2021-11-29
  • 3 回答
  • 0 關(guān)注
  • 739 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號