使用文档操作链接 RethinkDB 过滤

Chain RethinkDB filtering with document manipulation

我正在尝试使用 RethinkDB(NodeJS 驱动程序)执行以下操作:

const cursor = await r.table('users')
  .filter({ 'username': friendRequest.initiator })
  .getField(friends)
  .append(friendRequest.target)
  .run(conn)

但我收到错误消息 Expected type DATUM but found SEQUENCE

如何先筛选然后操作文档?

r.table('users')
  .filter({ 'username': friendRequest.initiator })

returns 数组,但 getField 仅适用于对象。

如我所见,您想要过滤用户并归档 "friends" 并向其追加新记录。您应该对结果使用 pluck for this and after use map

const cursor = await r.table('users')
  .filter({ 'username': friendRequest.initiator })
  .pluck(friends)
  .map(function(row){
     return row(friends).append(friendRequest.target);
  })      
  .run(conn)