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