如何替换数组中的状态?
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
,然后更新父文档。有关过滤数组的更多详细信息,请参阅链接的答案。
我尝试过使用数据查询修改文档。
这适用于普通结构。但是当查询是数组形式的时候。这似乎并没有取代或修改状态。我怎样才能做到这一点?
这是我的数组
`{
"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,
}
]
}
]
}`
基于
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
,然后更新父文档。有关过滤数组的更多详细信息,请参阅链接的答案。