From cbaef385894a87e852e1aac45c89810d2e44812f Mon Sep 17 00:00:00 2001 From: Leufolium Date: Mon, 23 Sep 2024 11:24:54 +0800 Subject: [PATCH] 1 --- importfunc/import_user_id_map.go | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/importfunc/import_user_id_map.go b/importfunc/import_user_id_map.go index b6edbf1..cdf217d 100644 --- a/importfunc/import_user_id_map.go +++ b/importfunc/import_user_id_map.go @@ -18,8 +18,6 @@ func ImportUserIdMap() { } ctx := context.Background() - userIdMaps := make([]*dbstruct.UserIdMap, 0) - // 打乱 list := make([]int64, 0) for i := int64(1000000); i < 100000000; i++ { @@ -29,6 +27,20 @@ func ImportUserIdMap() { list[i], list[j] = list[j], list[i] }) + for i := 0; i < len(list); i += 1000000 { + lower := i + upper := i + 999999 + if upper >= len(list) { + upper = len(list) - 1 + } + go ImportAsList(mcli, ctx, list[lower:upper]) + } + + fmt.Printf("Import into test success") +} + +func ImportAsList(mcli *mongo.Mongo, ctx context.Context, list []int64) { + userIdMaps := make([]*dbstruct.UserIdMap, 0) for i := range list { seq := int64(1000000) + int64(i) userId := list[i] @@ -44,13 +56,10 @@ func ImportUserIdMap() { userIdMaps = make([]*dbstruct.UserIdMap, 0) } } - if len(userIdMaps) > 0 { err := mcli.CreateMappedUserIds(ctx, userIdMaps) if err != nil { fmt.Printf("CreateMappedUserIds err :%v", err) } } - - fmt.Printf("Import into test success") }