更新特定bin / column,而不是Aerospike中的Table / set中的全部

我有以下结构-


type User struct {

    ID string `json:"id"`

    Name string `json:"name"`

    Email string `json:"email"`

    Password string `json:"passwprd"`

    Confirmed int `json:"confirmed"`

    ConfirmCode string `json:"confirmcode"`

    CreatedAt time.Time

    UpdatedAt time.Time

}

现在,每当我插入数据时,一切都很好,但是每当我更新特定的bin Confirmed&时ConfirmCode,我的所有其他数据也将替换为空白值。


这是代码,我正在使用更新-


t := time.Now()

u := User{

    Confirmed: 1,

    UpdatedAt: t,

}

key, err := as.NewKey("foobar", "users", "1")

if err != nil {

    ctx.StatusCode(iris.StatusBadRequest)

    ctx.JSON(map[string]string{"error": "Can't update key! Try again " + err.Error()})

    return

}

err = client.PutObject(nil, key, &u)

if err != nil {

    ctx.StatusCode(iris.StatusBadRequest)

    ctx.JSON(map[string]string{"error": "Can't Update object! Try again" + err.Error()})

    return

}

如您所见,在执行更新时,我仅提供结构的2个字段。


这样做会删除所有旧的现有数据,但上面用于更新的2个数据除外。


在Aerospike中进行更新时,我还需要再次提供“旧值”吗?


呼唤远方
浏览 255回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go