builder | ||
.gitignore | ||
aggregate_scope_test.go | ||
aggregate_scope.go | ||
autogen_model_field_mdbc.go | ||
autogen_model_mdbc.go | ||
breaker.go | ||
bulk_write_scope_test.go | ||
bulk_write_scope.go | ||
codec.go | ||
config.go | ||
convert.go | ||
count_scope_test.go | ||
count_scope.go | ||
debugger.go | ||
define.go | ||
delete_scope_test.go | ||
delete_scope.go | ||
distinct_scope_test.go | ||
distinct_scope.go | ||
drop_scope.go | ||
find_one_scope_test.go | ||
find_one_scope.go | ||
find_scope_test.go | ||
find_scope.go | ||
gen.sh | ||
go.mod | ||
hook.go | ||
icon.png | ||
index_scope_test.go | ||
index_scope_v2.go | ||
index_scope.go | ||
insert_scope_test.go | ||
insert_scope.go | ||
mdbc.pb.go | ||
mdbc.proto | ||
mongo.go | ||
new.go | ||
README.md | ||
scope_test.go | ||
scope.go | ||
transaction_scope_hook.go | ||
transaction_scope_test.go | ||
transaction_scope_v2.go | ||
transaction_scope.go | ||
update_module.sh | ||
update_scope_test.go | ||
update_scope.go | ||
utils.go |

快速开始
初始化mongo数据库连接
client, err := mongodb.ConnInit("mongodb://admin:admin@10.0.0.135:27017/admin")
if err != nil {
logrus.Fatalf("get err: %+v", err)
}
mdbc.InitDB(client.Database("mdbc"))
声明 model
var m = mdbc.NewModel(&ModelSchedTask{})
然后就可以使用 m 进行链式操作
注册全局对象
可以将model注册成一个全局变量
type WsConnectRecordScope struct {
*mdbc.Scope
}
var WsConnectRecord *WsConnectRecordScope
func NewWsConnectRecord() {
WsConnectRecord = new(WsConnectRecordScope)
WsConnectRecord.Scope = mdbc.NewModel(&model.ModelWsConnectRecord{})
}
使用:
func beforeRemoveWs(ctx context.Context, recordID, key string) {
if WsConnectRecord == nil {
NewWsConnectRecord()
}
tm := time.Now().UnixNano() / 1e6
if message_common.GetEtcdWatcher().RemoveWatch(key) {
// 已经移除 变更最近的一条消息
err := WsConnectRecord.SetContext(ctx).FindOne().SetFilter(bson.M{
model.ModelWsConnectRecordField_Id.DbFieldName: recordID,
}).Update(bson.M{
"$set": bson.M{
model.ModelWsConnectRecordField_LogoutAt.DbFieldName: tm,
},
})
if err != nil {
log.Errorf("update ws conn record err: %+v", err)
common.Logger.Error(ctx, "WsConn", log2.String("error", err.Error()))
}
}
}