1

给定一个包含如下对象的表:

{
  someString: 'something',
  foo: 100,
  bar: 53,
  baz: 230,
  ignore: 'everything but numbers'
}

以及只包含数字值的给定 JSON 对象:

{
  foo: 20,
  bar: 15,
  baz: 100
}

我需要一个 ReQL 查询来从选定文档中的值中减去给定 JSON 对象中的所有值。但是,问题是我不知道给定 JSON 对象中有哪些字段,它可能包含一个、全部或不包含数字字段(它永远不会包含非数字字段或不在原始表)。

我知道我可以轻松地获取相关文档并自己减去值并使用新值更新文档,但这些值会不断变化。因此,如果我这样做,那么值可能会在获取文档和更新文档之间发生变化,从而导致插入不正确的值。所以我想在查询中做实际的减法。

4

1 回答 1

0
r.db("db").table("table").get("id")
  .update({
    "foo":r.row("foo").sub(20),
    "bar":r.row("bar").sub(15),
    "baz":r.row("baz").sub(100)
  })  

然后,您可以根据给定 JSON 对象中的值在代码中修改此更新。

于 2018-10-19T20:22:34.733 回答