javascript - Rethinkdb 从数组中删除字符串

标签 javascript rethinkdb reql

给定如下数组和数据结构,我想从表字段 tags 中删除所有与 removeVals 匹配的值。我找到了更改的解决方案,并尝试使用 deleteAt,但得到了一个indexesOf is not a function 错误。

var removeTags = ["val1", "val3"];

{
  name: "test1",
  tags: ["val1", "val2", "val3", "val4", "val5"]
}

所以我应该剩下:

{
  name: "test1",
  tags: ["val2", "val4", "val5"]
}

到目前为止我的代码:

var removeTags = ["val1", "val2"]
r.db('test').table('data').get('test1').update(function(row) {
  return row('tags').indexesOf(function(rl) {
    return r.expr(removeTags).contains(rl)
  })(0).do(function(idx) {
    return {
      roles: row('tags').deleteAt(idx)
    }
  })
});

这是 question/answer我用作引用。任何帮助将不胜感激,非常感谢!

最佳答案

没关系,我找到了答案,而且比我想象的要容易得多,我把事情复杂化了太多!

var removeTags = ['val1', 'val2'];
r.db('test').table('data').get('test1')
  .update({tags: r.row('tags').difference(removeTags)});

无论如何,希望这对其他人有帮助

关于javascript - Rethinkdb 从数组中删除字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39527790/

相关文章:

python - rethinkDB 从 insert python 中提取 generated_key

json - 如何使用 JavaScript 在 ReThinkDB 中的 ReQL 中对数组应用过滤器

javascript - 如何对 RethinkDB 中的过滤组执行映射缩减?

javascript - JQuery .val 不工作

java - 从javascript中的session获取错误值,如何在javascript中使用session?

Node.js 同步返回多个异步yield结果

javascript - 使用 socket.io 进行实时搜索

php - 需要在 JavaScript 中循环遍历 PHP 数组

javascript addEventListener - 垃圾收集

javascript - 增加 Horizo​​n 系列的值(value)