我有一个包含2种类型的对象: 第一:
{
"id": "123"
"objectNamespace": "a",
"value": "value1"
}
第二
{
"id": "234",
"objectNamespace": "b",
"value": "value2",
"association": ["123"]
}
现在我想删除只有在类型a
没有任何关联时才从类型b
中删除文档:
我试试这个:
DELETE FROM `bukcet_name`
WHERE objectNamespace = 'a'
AND id = "123"
AND NOT EXISTS (
SELECT *
WHERE ANY item IN bukcet_name.association
SATISFIES item = "123" END);
但这总是会删除ID为123的doc 我怎样才能做到这一点?
答案 0 :(得分:-1)
您的数据与查询之间存在一些不匹配。
(1)您缺少FROM子句。
(2)您使用关联而不是关联。
(3)bucket_name。
这是一个可能的查询。
DELETE FROM `bucket_name`
WHERE objectNamespace = 'a'
AND id = "123"
AND NOT EXISTS (
SELECT * FROM bucket_name b2
WHERE ANY item IN b2.association
SATISFIES item = "123" END);