我有一个类似于以下内容的文档
{
...
reactions: [
{
user: 'user_id',
reaction: 'reaction_name'
}, {
user: 'user_id',
reaction: 'reaction_name'
}
]
...
}
我正在尝试根据“用户”和“反应”的组合删除数组反应中的一个项目,这将是唯一的。我将如何使用 js 驱动程序过滤反应数组以删除 rethinkdb 中的特定项目?
我试过这个
r.db('db_name').table('messages').getAll(
get_single_message
).update({
reactions: r.row('reactions').filter( (item) => {
return item('reaction').ne(body.reaction).and(item('user').ne(body.user))
})
}).run(this._rdbConn)
我理解它为什么不起作用(返回所有没有给出反应的反应,然后返回没有特定用户的数组的子集)。我想要的是那些不等于同步执行,因此它返回一个数组,其中不包括具有提供的反应和用户的项目。现在它的功能更像是反应或用户。