couchbase n1qlQuery带子查询删除

couchbase n1qlQuery带子查询删除,couchbase,n1ql,Couchbase,N1ql,我有一个bucket包含两种类型的对象: 第一: 第二: { "id": "234", "objectNamespace": "b", "value": "value2", "association": ["123"] } 现在,我只想在类型b中没有任何关联的情况下从类型a中删除文档: 我试试这个: DELETE FR

我有一个bucket包含两种类型的对象: 第一:

第二:

{
  "id": "234",
  "objectNamespace": "b",
  "value": "value2",
  "association": ["123"]
}
现在,我只想在类型b中没有任何关联的情况下从类型a中删除文档:

我试试这个:

 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的a文档
我该怎么做呢?

您的数据和查询之间存在一些不匹配

1您缺少FROM子句

2您使用关联而不是关联

3.你的名字

这里有一个可能的查询

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);

你检查过你的建议了吗?这甚至不编译?编译并为我工作。如果你不懂请求和接受帮助的礼仪,我会感到惊讶。
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);