1

假设我想获得所有至少有两个(不同)演员叫“约翰”的电影:

示例查询

[{
  "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",
    }]
  }]
}]

如果您运行示例查询,您将看到它将列出仅包含一个“约翰”的电影。如何修复我的查询以排除这些带有重复子项的结果?

4

1 回答 1

3

通常,您必须在客户端进行过滤;MQL 中的查询是“树状”的,因为查询的一部分不能引用另一部分,而不是通用图。

在这种情况下,您可以寻找有多个“约翰”在其中表演的电影;但是,MQL 不允许您对派生属性(如“count”)进行过滤,因此您可以做的最好的事情是根据计数进行反向排序,然后在您使用“count”点击第一个条目时立即停止处理: 1. 但是,如果您删除 1935 年的固定发布日期,该查询会超时(在 MQL 中排序会降低性能),因此您可能会被简单的客户端过滤所困。

于 2013-01-01T22:47:47.583 回答