package rjctmpltmod import ( "fmt" "time" "91porn-server/common/db" "91porn-server/common/log" "91porn-server/models" "go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/bson/primitive" "go.mongodb.org/mongo-driver/mongo" "go.mongodb.org/mongo-driver/mongo/options" ) var mdb *db.MongoDB const table = models.RejectTemplate func coll(t *db.MongoTool) *db.MongoTool { if t == nil { return mdb.Coll(table) } return t.Coll(table) } // initRejectTemplateIndex 设置index func initIndex() { many := []mongo.IndexModel{ //batch set indexes //value is the type 1 or -1 { Keys: bson.D{{Key: "createdAt", Value: -1}}, }, } if _, err := coll(nil).CreateIndex(many); err != nil { panic(fmt.Sprintf("%s model set index err ==>[%+v]", table, err)) } } // InsertOne 插入单条 func InsertOne(c RejectTemplate) error { c.CreatedAt = time.Now() c.UpdatedAt = c.CreatedAt if _, err := coll(nil).InsertOne(c); err != nil { log.Error(fmt.Sprintf("[METHOD-%s]==> Model %s %s fail error:%+v:", "InsertOne", table, "InsertOne", err)) return err } return nil } // FindMany 查找所有 func FindMany(rType string) ([]RejectTemplate, error) { opts := options.FindOptions{ Sort: bson.D{{Key: "createdAt", Value: -1}}, } var data []RejectTemplate if err := coll(nil).Find(&data, bson.M{"type": rType}, &opts); err != nil { log.Error(fmt.Sprintf("[METHOD-%s]==> Model %s %s fail error:%+v:", "FindMany", table, "find", err)) return data, err } return data, nil } // Update 修改 func Update(set Edit) error { set.UpdatedAt = time.Now() if _, err := coll(nil).UpdateOne(bson.M{"_id": set.ID}, bson.M{"$set": set}); err != nil { log.Error(fmt.Sprintf("[METHOD-%s]==> Model %s %s fail error:%+v:", "Update", table, "UpdateOne", err)) return err } return nil } // Update 修改 func DeleteMany(ids []primitive.ObjectID) error { if _, err := coll(nil).DeleteMany(bson.M{"_id": bson.M{"$in": ids}}); err != nil { log.Error(fmt.Sprintf("[METHOD-%s]==> Model %s %s fail error:%+v:", "DeleteMany", table, "DeleteMany", err)) return err } return nil }