MongDB upsert 时新增的字段不能更新值

2022-07-15 12:17:47 +08:00
 wurenzhidi

目标:在 mongoDB 的现有记录里,新增 TfuEigenvalue TevEigenvalue 两个字段,并赋值 问题:TfuEigenvalue TevEigenvalue 字段的值均为“” 解决过程: row.ObtainDate(string 类型)存在为""的情况, 此前未处理这个情况. 修复后,问题消失. 有问题的代码: for _, row := range rows { upsertFilter := bson.M{ "vin": row.VinNo, } //这里字符串转换为 time, 有问题 date, _ := time.ParseInLocation("2006-01-02 15:04:05", row.ObtainDate, time.Local) err := db.Update(upsertFilter, bson.M{"$set": DimVehicleT5{ Vin: row.VinNo, BrandID: row.BrandName, BrandName: row.BrandName, ModelID: row.CarSeriesCode, ModelName: row.CarSeriesCode, CarModel: row.ProductCode, TbjEigenvalue: row.TbjEigenvalue, TfuEigenvalue: row.TfuEigenvalue, TevEigenvalue: row.TevEigenvalue, ObtainDate: uint64(date.UnixNano()) / 1e3, ConfigName: row.ConfigName, }}, false, bson.M{"upsert": true}) if err != nil { log.Errorf("zyh5 db insert err:%v", err) continue } }

求教: 为什么字符串解析的问题, 会影响其他两个字段的赋值呢? 我在本地也没复现出这个情况

1486 次点击
所在节点    MongoDB
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/866388

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX