gpt4 book ai didi

mongodb - Mgo 即使不为空也会省略字段

转载 作者:IT王子 更新时间:2023-10-29 01:06:44 28 4
gpt4 key购买 nike

我想知道是否有任何方法可以让 stuct 字段即使不为空也不会提交给 mgo。

我找到的唯一方法是将字段设为小写,这使得访问起来很麻烦。还有别的办法吗?

这是一个示例,我的目标是不将 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)
}
}

谢谢,

最佳答案

您可以通过使用字段标签来做到这一点,如下所示:

type T struct {
Field string `bson:"-"`
}

关于mongodb - Mgo 即使不为空也会省略字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22846879/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com