package mongos import ( "context" "fmt" "videoweb/pub/models/utils" "go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/mongo" "go.mongodb.org/mongo-driver/mongo/options" ) var Lid struct { User *lid MwAcc *lid MwRole *lid MwOpLog *lid MwAccToken *lid SystemMsg *lid AdvitiseInfo *lid AdvitiseBind *lid AdvitiseLocation *lid App *lid VideoTag *lid VideoCategory *lid VideoInfo *lid VideoFavorite *lid VideoLike *lid TransCategory *lid Translation *lid VideoCreator *lid Comment *lid HtmlText *lid ContentTag *lid Actress *lid HotNav *lid HomeBanner *lid Announcement *lid Playlet *lid PlayletChapter *lid PlayletCategory *lid PlayletHomeConfig *lid PlayletLike *lid PlayletFavorite *lid PlayletTheme *lid PlayletTag *lid } func StartLid() { coll := Shop.Coll(utils.TN.GenerateId) initIndex(coll) Lid.User = createLid(coll, "user", 10) Lid.MwAcc = createLid(coll, "MwAcc", 1) Lid.MwRole = createLid(coll, "MwRole", 1) Lid.MwOpLog = createLid(coll, "MwOpLog", 10) Lid.MwAccToken = createLid(coll, "MwAccToken", 10) Lid.SystemMsg = createLid(coll, "SystemMsg", 10) Lid.AdvitiseInfo = createLid(coll, "AdvitiseInfo", 10) Lid.AdvitiseBind = createLid(coll, "AdvitiseBind", 10) Lid.AdvitiseLocation = createLid(coll, "AdvitiseLocation", 10) Lid.App = createLid(coll, "App", 10) Lid.VideoTag = createLid(coll, "VideoTag", 10) Lid.VideoCategory = createLid(coll, "VideoCategory", 10) Lid.VideoInfo = createLid(coll, "VideoInfo", 10) Lid.VideoFavorite = createLid(coll, "VideoFavorite", 10) Lid.VideoLike = createLid(coll, "VideoLike", 10) Lid.TransCategory = createLid(coll, "TransCategory", 10) Lid.Translation = createLid(coll, "TranslationData", 10) Lid.VideoCreator = createLid(coll, "VideoCreator", 10) Lid.Comment = createLid(coll, "Comment", 10) Lid.HtmlText = createLid(coll, "HtmlText", 10) Lid.ContentTag = createLid(coll, "contentTag", 10) Lid.Actress = createLid(coll, "Actress", 10) Lid.HotNav = createLid(coll, "HotNav", 10) Lid.HomeBanner = createLid(coll, "homeBanner", 10) Lid.Announcement = createLid(coll, "announcement", 10) Lid.Playlet = createLid(coll, "playlet", 10) Lid.PlayletChapter = createLid(coll, "playletChapter", 10) Lid.PlayletCategory = createLid(coll, "playletCategory", 10) Lid.PlayletHomeConfig = createLid(coll, "playletHomeConfig", 10) Lid.PlayletLike = createLid(coll, "playletLike", 10) Lid.PlayletFavorite = createLid(coll, "playletFavorite", 10) Lid.PlayletTheme = createLid(coll, "playletTheme", 10) Lid.PlayletTag = createLid(coll, "playletTag", 10) } // initIndex 初始化索引 func initIndex(coll *Collection) { indexes := []mongo.IndexModel{ { Keys: bson.D{ {Key: utils.FN.GenerateId.BusinessId, Value: 1}, }, Options: options.Index().SetUnique(true), }, } if _, err := coll.CreateIndex(context.Background(), indexes); err != nil { panic(fmt.Sprintf("(user:initIndex) Create Index user failed! err:%+v:", err)) } } func createLid(db *Collection, businessId string, len int) *lid { lid, err := newLid(db, businessId, len) if err != nil { panic(err) } return lid }