如何替换数组中的状态?

How to replace a status in array?

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

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

这是我的数组

 `{
  "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,
       }
    ]
  }
 ]
 }`

基于 by 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,用 MERGE 更新 status,然后更新父文档。有关过滤数组的更多详细信息,请参阅链接的答案。