问题描述
正如我们看到的,我过滤了结果,所以我得到了 gps_speed > 150 的行, 但我得到的 gps_speed 等于 (25,24,27,...), 我想也许资源管理器有一个错误,所以我输入脚本来做同样的工作仍然得到相同的结果
async function speed1Query(carId,continuationToken){
speed = "150"
return new Promise((resolve,reject)=>{
query = new azure.TableQuery()
.select(['*'])
.where('gps_speed gt ?',speed);
tableSvc.queryEntities('eventsdata',query,continuationToken,(error,results)=> {
if(!error){
resolve(results);
}else{
reject(error);
}
});
})
}
async function speed1(carId){
var continuationToken = null;
do{
var results = await speed1Query(carId,continuationToken);
continuationToken = results.continuationToken;
}
while(continuationToken!=null);
return results;
}
async function show(){
result1 = await speed1("1");
console.log(result1.entries.length);
}
这是我运行代码时得到的
247
与 Azure Explorer 返回的行数相同。
解决方法
检查过滤器中列的类型。它做一个字母过滤。对于字符串,“25”>“150”。