MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment marshaler la chaîne json au document bson pour écrire sur MongoDB?

Le gopkg.in/mgo.v2/bson package a une fonction appelée UnmarshalJSON qui fait exactement ce que vous voulez.

Les data Le paramètre doit contenir votre chaîne JSON sous la forme []byte valeur.

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

Exemple :

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