Rethinkdb:知道哪些记录已更新

时间:2014-01-27 17:44:42

标签: rethinkdb

有没有办法更新序列并知道更新文档的主键?

table.filter({some:"value"}).update({something:"else"})

然后知道更新的记录的主键,而不需要第二次查询?

1 个答案:

答案 0 :(得分:1)

目前无法使用{returnVals: true}返回多个值,例如参见https://github.com/rethinkdb/rethinkdb/issues/1382

然而,有一种方法可以使用forEach

欺骗系统
r.db('test').table('test').filter({some: "value"}).forEach(function(doc) {
  return r.db('test').table('test').get(doc('id')).update({something: "else"}, {returnVals: true}).do(function(result) {
    return {generated_keys: [result("new_val")]}
  })
})("generated_keys")

虽然它有效,但它真的非常黑客。希望有数组限制,returnVals很快就可用于范围写入。