如何替换数组中的状态?

时间:2018-03-16 10:47:38

标签: arangodb aql

我尝试使用数据查询修改文档。

这适用于普通结构。但是当查询是数组形式时。这似乎不会取代或修改状态。我怎样才能做到这一点?

这是我的数组

 `{
  "slave_state_datasets": [
    {
    "no": 0,
    "name": "abce",
    "status": true,
    "interrupt_time": 0.2,
    "timestamp": 1,
    "dataset_input": [
      {
      "data": 8,
      "ui16_u_u2": 1,
      "ui16_u_dip_min": 1,
      "ui16_u_swell_max": 1,
       }
    ]
  }
 ]
 }`

1 个答案:

答案 0 :(得分:1)

根据this answer

RienNeVaPlu͢s在3.3.3上进行测试
for t in test
filter t._key == '516226'
let alteritem = (for s in t.slave_state_datasets
            let updateStatus = MERGE(s, {status: false})
        return updateStatus)
update t with {slave_state_datasets:alteritem} IN test

您将内部值分配给alteritem,使用status更新MERGE,然后更新父文档。有关过滤数组的更多详细信息,请参阅链接的答案。