MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Como empacotar a string json para o documento bson para gravar no MongoDB?


O gopkg.in/mgo.v2/bson pacote tem uma função chamada UnmarshalJSON que faz exatamente o que você quer.

Os data O parâmetro deve conter sua string JSON como []byte valor.
 func UnmarshalJSON(data []byte, value interface{}) error

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