【发布时间】:2019-08-13 20:29:15
【问题描述】:
我正在使用 golang 和 MongoDB 驱动程序,我想根据从外部获得的数据修补我的一个对象:
我有一个结构:
type Pivot struct {
Email string `json:"email"`
Base string `json:"base"`
}
以及补丁(带有 MongoDB 更新)
setMap := bson.D{
{"$set", setElements},
}
res, err := collection.UpdateMany(
ctx,
filter,
setMap,
)
我想让 setObject 有点动态:
if len(pivot.Base) > 0 {
setElements.append("base", pivot.Base) //this doesn't work...
}
if len(pivot.Email) > 0 {
setElements.append("email", pivot.Email)
}
我已经看到 setObject can be built like
{"$set", bson.D{
{"processed", pivot.Processed},
}
但是我怎样才能让它动态呢?
【问题讨论】: