在分片文字中,不能将基元.D文字(类型为基元.D)作为基元.E类型。

我试图将一个切片推送到我的MongoDB数据库。我试图推送的数据是一个包含以下字段的结构。

type GroupMember struct {
    GroupID   string `json:"group_id" bson:"group_id"`
    Children  []string `json:"children" bson:"children"`
}

基本上,我将元素添加到我的 Children slice(如果是nil,则初始化它),设置我的 GroupID然后需要将更新后的数据推送到MongoDB。我已经尝试了以下方法。

_, err = uc.UpdateOne(ctx, bson.M{"_id": dbu.ID}, bson.D{{"$set", bson.D{{"group_id", dbu.GroupID}}}, bson.D{{"$set", bson.D{{"children", dbu.Children}}}}})

其中 dbu 是一个 GroupMember 实例。然而,我一直遇到这个错误。

cannot use primitive.D literal (type primitive.D) as type primitive.E in slice literal

我试着用不同的方法来解决这个问题 根据我在网上读到的资料 但我不确定正确的方法是什么 把一个片子准备好上传为 bson. 根据MongoDB的文档。bson.A 相当于一个数组的 bson,所以我尝试用 bson.A{} 但我得到同样的错误。我将感激任何帮助

解决方案:

更新文档的格式不完善。试试这个。

bson.M{"$set":bson.M{"group_id":dbu.GroupID,"children": dbu.Children}}

给TA打赏
共{{data.count}}人
人已打赏
未分类

核心ML不同尺寸图像的对象检测

2022-9-9 8:04:20

未分类

使用Flask应用处理Azure中的端口

2022-9-9 8:04:22

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索