diff --git a/modules/dbservice/db_comp.go b/modules/dbservice/db_comp.go index adf78f107..c0552fd53 100644 --- a/modules/dbservice/db_comp.go +++ b/modules/dbservice/db_comp.go @@ -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 } diff --git a/sys/cache/init_test.go b/sys/cache/init_test.go index aebde276a..c88fdc5b2 100644 --- a/sys/cache/init_test.go +++ b/sys/cache/init_test.go @@ -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)