如何删除RethinkDB中数组中的特定对象

时间:2016-12-18 18:11:40

标签: javascript node.js express rethinkdb

我只是想学习RethinkDB。我有点困惑如何删除数组中的单个Object,如果我必须删除此对象,我必须使用什么Exact查询

 {
        "name":  "Ram" ,
        "username":  "B97bf210-c4d2d-11e6-b783-07b5fev048705"
        }

来自whoLikedIt数组 我的数据

        {
        "comments": [ ],
        "id":  "c242c74d-03d9-4963-9a22-4779facb8192" ,
       .....
        "views": 0 ,
        "whoLikedIt": [
        {
        "name":  "Vignesh Warar" ,
        "username":  "d97bf210-c42d-11e6-b783-07b5fe048705"
        },
{
        "name":  "Ram" ,
        "username":  "B97bf210-c4d2d-11e6-b783-07b5fev048705"
        },


        ]
    .....
        }

我的尝试

r.db('image').table('posts').get('c242c74d-03d9-4963-9a22-4779facb8192').update(
  {whoLikedIt:r.row('whoLikedIt').filter({username:"B97bf210-c4d2d-11e6-b783-07b5fev048705"}).delete()}
)

给我一​​个错误

e: Cannot nest writes or meta ops in stream operations.  Use FOR_EACH instead in:

1 个答案:

答案 0 :(得分:0)

你想:

r.db('image').table('posts').get('c242c74d-03d9-4963-9a22-4779facb8192').update(function(row) {
  return {whoLikedIt: row('whoLikedIt').filter(function(obj) {
    return obj('username').ne("B97bf210-c4d2d-11e6-b783-07b5fev048705");
  })};
})