6
Mi chiedevo se c'è un modo per avere un campo stuct che non si impegna a mgo anche se non è vuoto.Mgo omette il campo anche quando non è vuoto
L'unico modo che ho trovato di fare questo è rendere il campo in minuscolo, il che rende difficile accedere. C'è un altro modo?
Questo è un esempio, e il mio obiettivo qui è quello di non commettere il SSN nel database ma averlo ancora in maiuscolo.
package main
import (
"fmt"
"crypto/sha1"
"encoding/base64"
"labix.org/v2/mgo"
)
type Person struct{
Name string
SSN string
HashedSSN string
}
func main() {
bob := Person{"Bob", "fake_ssn", ""}
hasher := sha1.New()
hasher.Write([]byte(bob.SSN))
sha := base64.URLEncoding.EncodeToString(hasher.Sum(nil))
bob.HashedSSN = sha
mgoSession, err := mgo.Dial("localhost:27017")
if err != nil {
fmt.Println("mongo_config#initMongoSessions : Could not dial to mgoSession", err)
} else {
mgoSession.DB("test").C("person").Insert(bob)
}
}
Grazie,
dolce, sei molto utile Gustavo – Gary