mdbc/update_scope_test.go
2022-02-23 16:59:45 +08:00

83 lines
1.9 KiB
Go

package mdbc
import (
"context"
"fmt"
"testing"
"github.com/sirupsen/logrus"
"go.mongodb.org/mongo-driver/bson"
)
func TestUpdateScope_One(t *testing.T) {
cfg := &Config{
URI: "mongodb://admin:admin@10.0.0.135:27017/admin",
MinPoolSize: 32,
ConnTimeout: 10,
}
cfg.RegistryBuilder = RegisterTimestampCodec(nil)
client, err := ConnInit(cfg)
if err != nil {
logrus.Fatalf("get err: %+v", err)
}
Init(client).InitDB(client.Database("mdbc"))
var m = NewModel(&ModelSchedTask{})
var record = ModelSchedTask{Id: "0e434c7d5c9eb8b129ce42ce07afef09"}
if err := m.SetDebug(true).FindOne().SetFilter(bson.M{"_id": record.Id}).Get(&record); err != nil {
logrus.Errorf("get err: %+v", err)
}
fmt.Printf("record %+v\n", record)
var ctx = context.Background()
record.TaskState = uint32(TaskState_TaskStateCompleted)
updateData := bson.M{
"task_state": uint32(TaskState_TaskStateFailed),
}
_, err = m.SetDebug(true).Update().SetContext(ctx).SetFilter(bson.M{"_id": record.Id}).One(updateData)
if err != nil {
logrus.Errorf("get err: %+v", err)
}
updateData = bson.M{
"task_state": uint32(TaskState_TaskStateFailed),
}
_, err = m.SetDebug(true).Update().SetFilter(bson.M{"_id": record.Id}).One(updateData)
if err != nil {
logrus.Errorf("get err: %+v", err)
}
}
func TestUpdateScope_Many(t *testing.T) {
cfg := &Config{
URI: "mongodb://mdbc:mdbc@10.0.0.135:27117/admin",
MinPoolSize: 32,
ConnTimeout: 10,
}
cfg.RegistryBuilder = RegisterTimestampCodec(nil)
client, err := ConnInit(cfg)
if err != nil {
logrus.Fatalf("get err: %+v", err)
}
Init(client).InitDB(client.Database("mdbc"))
var m = NewModel(&ModelSchedTask{})
//updateData := bson.M{
// "$inc": bson.M{
// "set_group_name": 1,
// },
//}
res, err := m.SetDebug(true).Update().SetFilter(bson.M{"task_type": "set_group_name"}).MustMapMany(m)
if err != nil {
logrus.Errorf("get err: %+v", err)
panic(err)
}
logrus.Infof("%+v", res)
}