我想知道是否有任何方法可以让一个不会被提交到mgo的stuct字段,即使它不是空的.
我发现这样做的唯一方法是将字段设为小写,这使得访问变得很麻烦.还有另外一种方法吗?
这是一个例子,我的目标是不将SSN提交到数据库中,但仍然是大写的.
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)
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢,
Gus*_*yer 22
您可以使用字段标记执行此操作,如下所示:
type T struct {
Field string `bson:"-"`
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1717 次 |
| 最近记录: |