rethinkdb使用嵌套的对象数组更新查询

时间:2017-07-28 06:01:28

标签: rethinkdb rethinkdb-javascript rethinkdbdash

以下是我一直在工作的结构。标准就像是我想在单个查询中更新Node2中存在的 nodeName 状态

"nodeList": [
  {
    "nodeName": "Node1",
    "status": "Not Ready"
  },
  {
    "nodeName": "Node2",
    "status": "Ready"
  },
  {
    "nodeName": "Node3",
    "status": "Ready"
  }
]

感谢您的帮助!!

1 个答案:

答案 0 :(得分:2)

尝试此查询: -

r.db("your_database").table("your_table_name")
.get('id')
.update({    
          nodeList: r.row('nodeList').map(function (newStatus) {
          return r.branch(
          newStatus('nodeName').eq('field_value'),                                          
          newStatus.merge({status: 'new value'}),newStatus)
        })

});