For multiple fields, you have to create an array of bson element(bson.E
). then append/assign as many fields you want in array item.
var update []bson.E
if r.ReleaseImage != "" {
update = append(update, bson.E{"releaseimage", r.ReleaseImage})
}
if r.Releasepath != "" {
update = append(update, bson.E{"releasepath", r.Releasepath})
}
// now update db
result, err := coll.UpdateOne(
context.Background(),
bson.D{
{"id", r.ID},
},
bson.D{
{"$set", update},
{"$currentDate", bson.D{
{"updated", true},
}},
},
)
Hope this helps