漏洞 ID 编号 |
BUG-000164286 |
已提交 | January 11, 2024 |
上次修改时间 | May 27, 2025 |
适用范围 | ArcGIS Online |
找到的版本 | Oct 2023 |
操作系统 | N/A |
操作系统版本 | N/A |
状态 | As Designed
经开发团队审核,已确定此行为符合设计。 有关详细信息,请参阅“其他信息”部分。
|
附加信息
This is a known behavior regarding the execution order of filters in feature services. When both viewDefinitionQuery and topFilter are applied to a feature service, the system processes the topFilter first, followed by the viewDefinitionQuery.
To achieve simultaneous execution of both filtering operations, the correct approach is to structure the query using sqlExpression within the viewLayerDefinition instead of using viewDefinitionQuery directly.
The recommended structure is:
json{
"viewDefinitionQuery": "",
"viewLayerDefinition": {
"filter": {
"sqlExpression": "status = 'Active'"
},
"topFilter": {
"orderByFields": "CreationDate DESC",
"groupByFields": "Name",
"topCount": 1
}
}
}
This structure ensures that both the SQL expression filter and the top filter are processed together, providing more precise control over the returned data and preventing unexpected results that may occur when filters are applied in sequence.
解决办法
For query purposes, it is recommended to not add the topFilter parameter on the view definition. Use the queryTopFeatures method to get the correct result.
重现步骤