gpt4 book ai didi

mongodb - mgo golang 不使用 $set 更新空数组

转载 作者:数据小太阳 更新时间:2023-10-29 03:22:03 35 4
gpt4 key购买 nike

结构和方法:

type Group struct {
Id int64 `bson:"_id,omitempty"`
MediaFilterExceptionUserIds []int `bson:"media_filter_exception_user_ids,omitempty"`
}

func (g *Group) Save() error {
return DB.C("groups").UpdateId(g.Id, bson.M{"$set": &g})
}

func (g *Group) FindById() error {
return DB.C("groups").FindId(g.Id).One(&g)
}

尝试将 media_filter_exception_user_ids 设置为空 []int{} 但它不起作用:

group := Group{}
group.FindById(123)
group.MediaFilterExceptionUserIds = []int{}
group.Save()

当 slice 中有一个项目时有效,但没有设置空 slice 。

最佳答案

MediaFilterExceptionUserIds 类型应从 []int 更改为 *[]int,

type Group struct {
Id int64 `bson:"_id,omitempty"`
MediaFilterExceptionUserIds *[]int `bson:"media_filter_exception_user_ids,omitempty"`
}

然后

group.MediaFilterExceptionUserIds = &[]int{}

在mongodb中将其设置为一个空数组

关于mongodb - mgo golang 不使用 $set 更新空数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52224424/

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