1

「update」という名前のjosnがあり、次のような埋め込みリスト「コメント」があります。

{
   id: "update/0",
   //comments contains elements with type:comment
    comments: [{
         id:"comment/0"
         children:[{
                     id:"comment/00",
                      children[...]
                  }]
   }]
 }

質問は次のとおりです。

1, How to remove an item from update's field:comments by ids "update/0" and 
   "comment/0"?

2, How to remove an item from comment's field:children by ids "update/0","
   comment/0" and "comment/00"?
4

1 に答える 1

0
r.table("update").get("update/0").update(function(doc) {
    return doc.merge({
         comments: doc("comments").concatMap(function(comment) {
             return r.branch(
                  comment("id").eq("comment/0"),
                  [],
                  [comment]
             )
         })
    })
})

r.table("update").get("update/0").update(function(doc) {
    return doc.merge({
         comments: doc("comments").map(function(comment) {
             return r.branch(
                  comment("id").eq("comment/0"),
                  comment.merge({
                      children: comment("children").concatMap(function(child) {
                          return r.branch(
                              child("id").eq("comment/00"),
                              [],
                              [child]
                          )
                      })
                  }),
                  comment
             )
         })
    })
})

でそれを行うこともできますが、データを複数のテーブルに分割することを検討する必要があります埋め込みリストのアイテムを更新する方法deleteAtの私のコメントを参照してください?

于 2014-02-28T22:00:18.380 に答える