【问题标题】:How to update a field in rethinkdb documents based on its old value如何根据旧值更新 rethinkdb 文档中的字段
【发布时间】:2016-05-02 03:13:32
【问题描述】:

我在数据库中有如下文件:

{
"email":  "abc1234" ,
"id":  "0ff9115c-44a8-4a9e-a2c1-f6f5d2ac5219" ,
"name":  "awesome dude" ,
}

上面的表格有多个文档。

我想在电子邮件字段中添加一个字符串,例如@stackoverflow.com。也就是说,更新后上面应该变成:

{
"email":  "abc1234@stackoverflow.com" ,
"id":  "0ff9115c-44a8-4a9e-a2c1-f6f5d2ac5219" ,
"name":  "awesome dude" ,
}

如何在 rethinkdb 中执行此操作?我尝试了以下数据浏览器:

r.db("monopolyApp").table("users").update({
  email2: r.row("email") + "@stackoverflow.com"
})

但是,这会将每个电子邮件地址更改为:

"r.row("email")@stackoverflow.com"

谢谢。

【问题讨论】:

    标签: rethinkdb


    【解决方案1】:

    您正在寻找的是.add command

    只需将您的查询修改为:

    r.db("monopolyApp").table("users").update({
      email2: r.row("email").add("@stackoverflow.com")
    })
    

    你应该准备好了!

    【讨论】:

    • 谢谢!那行得通。我认为add() 仅用于数值过程。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-24
    • 1970-01-01
    • 1970-01-01
    • 2020-10-23
    • 2018-10-09
    • 2014-11-19
    • 2015-06-22
    相关资源
    最近更新 更多