package m3u8requestlogmod import ( "context" "fmt" "videoweb/pub/common/log" "videoweb/pub/common/srvdef" "videoweb/pub/mongos" "go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/mongo" ) var db *mongos.Collection func Init(ctx context.Context) { db = mongos.Shop.Coll(TN.M3U8RequestLog) indexes := []mongo.IndexModel{ { Keys: bson.D{ {Key: FN.M3U8RequestLog.CreatedAt, Value: -1}, }, }, { Keys: bson.D{ {Key: FN.M3U8RequestLog.VideoId, Value: 1}, {Key: FN.M3U8RequestLog.CreatedAt, Value: -1}, }, }, { Keys: bson.D{ {Key: FN.M3U8RequestLog.M3U8Path, Value: 1}, {Key: FN.M3U8RequestLog.CreatedAt, Value: -1}, }, }, { Keys: bson.D{ {Key: FN.M3U8RequestLog.ClientIP, Value: 1}, {Key: FN.M3U8RequestLog.CreatedAt, Value: -1}, }, }, { Keys: bson.D{ {Key: FN.M3U8RequestLog.Host, Value: 1}, {Key: FN.M3U8RequestLog.CreatedAt, Value: -1}, }, }, { Keys: bson.D{ {Key: FN.M3U8RequestLog.Status, Value: 1}, {Key: FN.M3U8RequestLog.CreatedAt, Value: -1}, }, }, { Keys: bson.D{ {Key: FN.M3U8RequestLog.TokenOK, Value: 1}, {Key: FN.M3U8RequestLog.PathOK, Value: 1}, {Key: FN.M3U8RequestLog.CreatedAt, Value: -1}, }, }, } if _, err := db.CreateIndex(ctx, indexes); err != nil { panic(fmt.Sprintf("(m3u8requestlogmod:Init) Create M3U8RequestLog Index failed! err:%+v:", err)) } } func InsertOneM3U8RequestLog(ctx context.Context, doc *M3U8RequestLog) *srvdef.SrvErr { if _, err := db.InsertOne(ctx, doc); err != nil { log.Warn("m3u8requestlogmod:InsertOneM3U8RequestLog db.InsertOne failed", log.E(err)) return srvdef.New(srvdef.ErrDbInsertError, "", "") } return nil }