mgo, omitempty 字段的清空

type Test struct {
  A string `bson:"a,omitempty"`
  B string `bson:"b.omitempty"`
}

当有数据存入字段是,怎样清除? 如删除A字段的信息。用Update自动忽略掉了空字段。

共 5 个回复


jimmykuu

不是很理解你说的什么意思。

# 0

16779242

同上,没明白楼主在说什么……

# 1

goophy

好吧。 如果A在mongodb里已经有value,当struct里,A设置为 omitempty,如果web form 提交时A字段没填,用 mgo.Update(bson.M{"b": "bvalue", "a": "") 就不会更新A 的值为“”。 问题是,我确实需要让A成为“”。

# 2

jimmykuu

你的 Update 用的不对,c.Update(condition, bson.M{"$set": bson.M{"b": "bvalue", "a": ""}})

# 3