使用文档操作链接 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)
我正在尝试使用 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)