我有一个测试查询
UNWIND [['my@email.com', {auth:true}]] as key_role
WITH key_role
...
SET r += key_role[1] // r is a relationship
然后返回
"类型不匹配:预期的地图,节点或关系,但是任何"
如果我RETURN key_role[1]
,则响应包含如下行:
{
"auth": true
}
我做错了什么?
新2.3.0
答案 0 :(得分:2)
因为您有一个混合类型数组,所以它被视为Any
个对象的数组。而且Cypher不知道如何在关系的属性中添加Any
。如果您将数组设为一个映射数组,那么Cypher会将每个元素视为一个映射。
例如,这有效:
UNWIND [[{email: 'my@email.com'}, {auth:true}]] as key_role
WITH key_role
...
SET r += key_role[1] // r is a relationship
您可以修改查询以使用地图数组而不是混合类型数组吗?