RethinkDB:​​检查数组中的对象是否存在并替换它

时间:2017-10-18 15:31:26

标签: rethinkdb rethinkdb-javascript reql

我有这个JSON文档:

{
  userId: xx,
  followedAuthors: [
    { authorId: abc, timestamp: 123 },
    { authorId: xyz, timestamp: 456 },
  ]
}

当用户想要关注某位作者时,我想编写一个查询,检查该作者是否已被跟踪,检查该ID,以及是否未将新跟随的作者附加到该数组。

现在我每次创建一个新条目。 这是我的问题:

r.table('users')
 .get(userId)
 .replace(user => {
   return user.merge({
     followedTopics: user('followedTopics')
        .default([])
        .setInsert({ topic: topic, timestamp: now }),
     })
  })

1 个答案:

答案 0 :(得分:1)

实现此目标的最佳方法是使用contains(使用谓词函数),branchappend