如何根据旧值更新 rethinkdb 文档中的字段

Posted

技术标签:

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

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


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

上面的表格有多个文档。

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


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

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

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

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

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

谢谢。

【问题讨论】:

【参考方案1】:

您正在寻找的是.add command。

只需将您的查询修改为:

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

你应该准备好了!

【讨论】:

谢谢!那行得通。我认为add() 仅用于数值过程。

以上是关于如何根据旧值更新 rethinkdb 文档中的字段的主要内容,如果未能解决你的问题,请参考以下文章

RethinkDB:​​更新文档

rethinkdb - hasFields 查找具有多个多个缺失条件的所有文档

RethinkDB:​​获取在任何字段中包含字符串的所有文档

MongoDb:如何根据每个字段的值更新多个文档中的字段值?

MongoDb:如何根据每个字段的值更新多个文档中的字段值?

如何根据另一个字段更新 mongodb 中的数组 dict 元素