假设我想要播放所有至少有两个(不同)演员称为“John”的电影:
[{
"type":"/film/film",
"name":null,
"limit":10,
"/film/film/initial_release_date":"2005"
"starring":[{
"a:actor": [{
"type": "/film/actor",
"name": null,
"name~=": "John",
}],
"b:actor": [{
"type": "/film/actor",
"name": null,
"name~=": "John",
}]
}]
}]
如果您运行示例查询,您将看到它将列出其中只有一个“John”的电影。如何修复我的查询以使用重复的子项排除这些结果?
答案 0 :(得分:3)
一般情况下,您必须进行客户端过滤; MQL中的查询是“树状的”,因为查询的一部分不能引用另一部分而不是通用图。
在这种情况下,你可以寻找有不止一个“约翰”的电影;但是,MQL不允许您对派生属性(如“count”)进行过滤,因此您可以做的最好的事情是reverse sort based on the count,然后只要用“count”命中第一个条目就停止处理: 1.但是,如果您删除固定的1935发布日期(MQL中的排序会导致性能下降),那么查询会超时,因此您可能只会遇到简单的客户端过滤。