我在websql
中有表格来获取我正在使用JayData
的数据并写下来
_context.FoodLog.include("FoodItem").orderByDescending("it.TotalCalories").toArray().then(function(foodLogs)
{
$scope.$apply(function ()
{
try
{
for(var i=0; i<foodLogs.length; i++)
{
console.log(foodLogs[i].TotalCalories);
}
}
catch(error)
{
console.log("Inner Try "+error);
}
})
});
在控制台中结果是
738.00
31.56 // why this 31.50 comes before 127.91 and 101.81
127.91
101.81
10.00
10.00
但它显示结果集不按特定顺序
更新 表结构
$data.Entity.extend('SpookyHealthAppModel.FoodLog', {
'FoodLogID': { 'key':true,'type':'Edm.Int32','nullable':false,'computed':true },
'Quantity': { 'type':'Edm.String','maxLength':5 },
'TotalCalories': { 'type':'Edm.String','maxLength':10 },
'DateTime': { 'type':'Edm.DateTime' },
'ImageCol': { 'type':'Edm.String','maxLength':50 },
'Sync': { 'type':'Edm.Boolean' },
'FoodItem': { 'type':'SpookyHealthAppModel.FoodItem','required':true,'inverseProperty':'FoodLog' },
'User': { 'type':'SpookyHealthAppModel.User','required':true,'inverseProperty':'FoodLog' }
});
答案 0 :(得分:1)
我发现了我的问题:)
根据我的表结构,我的查询工作正常
因为我放置order by
子句的字段有String DataType
,并且结果是根据字符串的顺序,如果我想要数字顺序改变这一行
'TotalCalories': { 'type':'Edm.String','maxLength':10 },
进入这个
'TotalCalories': { 'type':'Edm.Int32'}, // No need to define length now if you want in float then define float instead of int