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
}
_key := data.D[0].(string)
Where := make(bson.M, 0)
Query := make(bson.M, 0)
Query1 := make(bson.M, 0)
Query1["$set"] = Query
_tableName := data.D[0].(string) //表名
Where := bson.M{}
Query := bson.M{}
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) {
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 {
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]++
if ErrorLogCount[data.ID] >= ErrorMaxNum { // 超过一定次数写失败了那就删除吧
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
}
if len(_delID) > 0 {
_, err = this.DB.DeleteMany(DB_ModelTable, bson.M{"_id": bson.M{"$in": _delID}}, options.Delete()) // 批量删除已处理的数据
if err != nil {
log.Errorf("del err %v", err)
}
}
// if len(_delID) > 0 {
// _, err = this.DB.DeleteMany(DB_ModelTable, bson.M{"_id": bson.M{"$in": _delID}}, options.Delete()) // 批量删除已处理的数据
// if err != nil {
// log.Errorf("del err %v", err)
// }
// }
return
}

View File

@ -76,11 +76,17 @@ func TestMain(m *testing.M) {
"userid": "uid123",
"title": "系统邮件",
}
var ndmodify = &bson.M{
"title": "xxxxx",
"check": true,
}
data1.D = make([]interface{}, 0)
data1.D = append(data1.D, "mail") // D[0]
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)
if err != nil {
log.Errorf("insert model db err %v", err)