mongo update方法修复

This commit is contained in:
2025-12-02 15:56:57 +08:00
parent 161a0a43a9
commit 358e175799

View File

@@ -99,7 +99,7 @@ func Delete(ctx context.Context, filter bson.M, collection string, opts ...optio
}
// Update 修改记录
func Update(ctx context.Context, filter bson.M, update interface{}, collection string, opts ...options.Lister[options.UpdateManyOptions]) (result *mongo.UpdateResult, err error) {
func Update(ctx context.Context, filter bson.M, update bson.M, collection string, opts ...options.Lister[options.UpdateManyOptions]) (result *mongo.UpdateResult, err error) {
if len(filter) == 0 {
err = gerror.New("缺少查询条件")
return
@@ -110,10 +110,11 @@ func Update(ctx context.Context, filter bson.M, update interface{}, collection s
return
}
filter["tenantId"] = user.TenantId
doc := gconv.Map(update)
doc["updater"] = user.UserName
doc["updatedAt"] = gtime.Now().Time
result, err = db.Collection(collection).UpdateMany(ctx, filter, doc, opts...)
setDoc := update["$set"].(bson.M)
setDoc["updater"] = user.UserName
setDoc["updatedAt"] = gtime.Now().Time
update = bson.M{"$set": setDoc}
result, err = db.Collection(collection).UpdateMany(ctx, filter, update, opts...)
if err != nil {
return
}