package db import ( "context" cherryApp "f1-game/internal/cherry_app" nameDB "f1-game/internal/name/db" "fmt" clog "github.com/cherry-game/cherry/logger" "go.mongodb.org/mongo-driver/v2/bson" ) // ver00003 修正连接地块 type ver00003 struct { } // Version 手动自增,必需唯一 func (ver00003) Version() int32 { return 3 } func (ver00003) Enable() bool { return false } func (p ver00003) Execute() bool { clog.Infof("Execute %v, nodeID = %s", p.Version(), cherryApp.NodeID()) mapTileCollection := dbComponent.DB().Collection(nameDB.Table_LogicTile) filter := bson.M{"$expr": bson.M{"$eq": bson.A{"$TileID", "$Data.ParentTileID"}}} update := bson.M{"$unset": bson.M{"Data.ParentTileID": ""}} result, err := mapTileCollection.UpdateMany(context.Background(), filter, update) if err != nil { clog.Errorf("[migrator - %d] update map tile table error: %v", p.Version(), err) return false } clog.Infof("[migrator - %d] update map tile table success: %v", p.Version(), result.ModifiedCount) return true } func (p ver00003) Desc() string { return fmt.Sprintf("[migrator - %d] Fix MapTile", p.Version()) }