假设我有一个App Services实体,其中包含以下数据:
...
times: [
"3/05/2014 18:00:00",
"3/06/2014 16:00:00",
],
...
使用query operators,有没有办法引用数组中特定的编号元素?
我尝试了以下内容:
select * where times.0 > '3/05/2014 18:00:00' //this one returns no data
select * where times[0] > '3/05/2014 18:00:00' //this one fails with a java error
似乎如果数组中有一个元素,它只能用于:
select * where times > '3/05/2014 18:00:00'
...但如果有多个(如果我想检查特定编号的数组元素,则不会)。
答案 0 :(得分:1)
使用Apigee的高级API服务,我能够毫无问题地查询此场景。我的/items
集合中总共有5个实体,都有times
数组。这些看起来像:
{
"uuid": "65d39aba-8df4-11e3-8926-f36d6fff0de6",
"type": "items",
"name": "testItem5",
"created": 1391556657115,
"modified": 1392920493819,
"description": "This is a test item 5.",
"id": "0005",
"metadata": {
"path": "/items/65d39aba-8df4-11e3-8926-f36d6fff0de6"
},
"times": [
"3/05/2014 18:00:00",
"3/06/2014 16:00:00"
]
}
只有3个项目的值为> 3/05/2014 18:00:00
。当我进行以下查询时:
/items?ql=select%20*%20where%20times%20%3E%20%273/05/2014%2018:00:00%27
或未转义
/items?ql=select * where times > '3/05/2014 18:00:00'
值高于3/05/2014 18:00:00
的3个项目没有任何问题返回。