1.5 KiB
1.5 KiB

快速开始
初始化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()))
}
}
}