猿问

如何在 MongoDB Golang 中将值对象更新为数组?

我正在尝试将我的地址更新为我的个人数据:


if _, ok := update["addressName"]; ok {

  request = bson.M{"addresses": bson.M{"addressName": update["addressName"]}}

} else {

  request = update

}

_, err = people.UpdateOne(context.TODO(), filter, bson.M{"$set": request})

这不会在数组中创建对象,


我想要这样的结果:


{

 "updateAt": TIME_NOW

 "addresses": [

    {"addressName": "ONLY", default: true},

    {"addressName": "ONLY", default: true}

 ]

}

使用MongoDB Driver请求数组中对象的正确方法是什么?


ABOUTYOU
浏览 151回答 1
1回答

繁花如伊

您正在寻找一个包含单个元素的数组$set。addresses您必须将 设置为addresses包含您需要的所有元素的数组,或者您必须使用以下命令添加到该数组$push:_, err = people.UpdateOne(context.TODO(), filter, bson.M{"$push":bson.M{"addresses":bson.M{ address info }})
随时随地看视频慕课网APP

相关分类

Go
我要回答