diff --git a/modules/dbservice/db_comp.go b/modules/dbservice/db_comp.go index adf78f107..c2537fa76 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) 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)