This commit is contained in:
meixiongfeng 2022-06-17 15:46:07 +08:00
parent a54dcebfe9
commit def537a01a
2 changed files with 23 additions and 17 deletions

View File

@ -127,20 +127,20 @@ func (this *DB_Comp) Model_UpdateDBByLog(uid string) (err error) {
continue continue
} }
_key := data.D[0].(string) _tableName := data.D[0].(string) //表名
Where := make(bson.M, 0) Where := bson.M{}
Query := make(bson.M, 0) Query := bson.M{}
Query1 := make(bson.M, 0)
Query1["$set"] = Query
for _, v := range data.D[1].(bson.D) { for _, v := range data.D[1].(bson.D) {
Where[v.Key] = v Where[v.Key] = v.Value
} }
for _, v := range data.D[2].(bson.D) { for _, v := range data.D[2].(bson.D) {
Query[v.Key] = v Query[v.Key] = v.Value
} }
_, err := this.DB.UpdateMany(core.SqlTable(_key), Where, Query1) _, err = this.DB.UpdateMany(core.SqlTable(_tableName), Where, bson.M{"$set": Query})
if err != nil { if err != nil {
log.Errorf("Update %s db err:%v", core.SqlTable(_key), err) log.Errorf("Update %s db err:%v", core.SqlTable(_tableName), err)
ErrorLogCount[data.ID]++ ErrorLogCount[data.ID]++
if ErrorLogCount[data.ID] >= ErrorMaxNum { // 超过一定次数写失败了那就删除吧 if ErrorLogCount[data.ID] >= ErrorMaxNum { // 超过一定次数写失败了那就删除吧
log.Errorf("update db err max num %s db err:%v", data.ID, err) log.Errorf("update db err max num %s db err:%v", data.ID, err)
@ -155,12 +155,12 @@ func (this *DB_Comp) Model_UpdateDBByLog(uid string) (err error) {
_delID = append(_delID, data.ID) // 都操作都成功了记录要删除的key _delID = append(_delID, data.ID) // 都操作都成功了记录要删除的key
} }
if len(_delID) > 0 { // if len(_delID) > 0 {
_, err = this.DB.DeleteMany(DB_ModelTable, bson.M{"_id": bson.M{"$in": _delID}}, options.Delete()) // 批量删除已处理的数据 // _, err = this.DB.DeleteMany(DB_ModelTable, bson.M{"_id": bson.M{"$in": _delID}}, options.Delete()) // 批量删除已处理的数据
if err != nil { // if err != nil {
log.Errorf("del err %v", err) // log.Errorf("del err %v", err)
} // }
} // }
return return
} }

View File

@ -76,11 +76,17 @@ func TestMain(m *testing.M) {
"userid": "uid123", "userid": "uid123",
"title": "系统邮件", "title": "系统邮件",
} }
var ndmodify = &bson.M{
"title": "xxxxx",
"check": true,
}
data1.D = make([]interface{}, 0) data1.D = make([]interface{}, 0)
data1.D = append(data1.D, "mail") // D[0] data1.D = append(data1.D, "mail") // D[0]
data1.D = append(data1.D, &filter1) // D[1] data1.D = append(data1.D, &filter1) // D[1]
data1.D = append(data1.D, nd) // D[2] data1.D = append(data1.D, ndmodify) // D[2]
nd.Title = "read"
//db.Defsys.Mgo().UpdateMany("mail", filter1, bson.M{"$set": nd})
_, err = db.Defsys.Mgo().InsertOne("model_log", data1) _, err = db.Defsys.Mgo().InsertOne("model_log", data1)
if err != nil { if err != nil {
log.Errorf("insert model db err %v", err) log.Errorf("insert model db err %v", err)