对我的 API 的请求包含 ID(必需)和可选的其他字段,例如姓名、电子邮件和用户名。{ "id" : "12345", "name" : "Bob", "email" : "test@example.com"}将请求绑定到结构后,user如果我的数据库中没有具有该 ID 的用户,我会使用以下方法将它们添加到其中:user.App_id = appIduser.Created_at = (*tools.Timestamp)(&now)user.Updated_at = (*tools.Timestamp)(&now)_ = C.Database.C("users").Insert(&user);但如果有用户,我只想更新请求对象包含的字段,但我不确定如何编写查询。我的user结构使用指针,以便我可以检查nil值type user struct { Id *string `bson:"id" json:"id"` Name *string `bson:"name" json:"name"` ...}我在应用程序的其他地方使用的更新查询如下所示:err := collection("users").Update(bson.M{"id" : "user.Id"},bson.M{"$set": bson.M{"???":"???"}})但我不确定在这些情况下如何构建查询的后半部分。注意:我没有使用 MongoDB 的 _id
1 回答
RISEBY
TA贡献1856条经验 获得超5个赞
我相信你应该能够做到这一点
err := collection("users").Update(bson.M{"id" : user.Id},bson.M{"$set": &user})
- 1 回答
- 0 关注
- 150 浏览
添加回答
举报
0/150
提交
取消