У меня есть документы, аналогичные этому документу, в моей базе данных mongo
{
"_id": ObjectId("5cbf416ec6490b9baff4d284"),
"rewards" : [
{
"percent" : NumberLong(100),
"promotion_id" : "promotest"
}
],
"eligible_for": ["XYZ","ABC"]
}
Когда я обновляюсь с соответствующим документом, он корректно обновляет документ
Но когда я передаю вознаграждение, elitable_forкак пустое значение, затем elptable_for за обновление до нулевого значения, но вознаграждение за то, что оно не обновляется до нулевого
{
"rewards" : null,
"eligible_for": null
}
, затем за обновленный документ
{
"_id": ObjectId("5cbf416ec6490b9baff4d284"),
"rewards" : [
{
"percent" : NumberLong(100),
"promotion_id" : "promotest"
}
],
"eligible_for": null
}
Это запрос, который я использую для обновления документа с использованиеммонго-гоу-драйвер. r.PollingGameCollection.UpdateOne(ctx, bson.M{"_id": poll.RawId}, M{"$set": poll})
Объекты:
type PollingGame struct {
RawId *objectid.ObjectID `json:"-" bson:"_id,omitempty"`
Rewards *[]Reward `json:"rewards,omitempty" bson:"rewards,omitempty"`
EligibleFor []string `json:"eligible_for,omitempty" bson:"eligible_for, omitempty"`
}
type Reward struct {
Percent int `json:"percent,omitempty" bson:"percent,omitempty"`
PromotionId string `json:"promotion_id,omitempty" bson:"promotion_id,omitempty"`
}