MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Come eseguire il marshalling di una stringa json in un documento bson per la scrittura su MongoDB?

Il gopkg.in/mgo.v2/bson il pacchetto ha una funzione chiamata UnmarshalJSON che fa esattamente quello che vuoi.

I data il parametro dovrebbe contenere la tua stringa JSON come []byte valore.

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

Esempio:

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)
}