查询搜索两次返回相同的结果
query search returning same result twice
我最近了解到 azure 移动服务将其查询搜索限制为 50(如果更改默认值,则为 1000),但我的应用程序需要能够访问无限制的记录。我创建此服务是为了 return 一个包含所有记录的列表。我将跳过计数设置为 1,因为我想在执行像 50 这样的跳过计数之前确保它在小范围内工作。调试此代码后,它保持 returning 两条相同的记录,其中一条不同。我的数据库中有三个完全不同的记录,所以我很困惑为什么它两次选择其中一个。我确保在发出请求时,跳过金额为 0、1、2。
return new Promise(function(resolve, reject) {
var x = 0
var total = 1;
list = [];
console.log(list.length);
while(x <= 3){
x++;
var query = table.where(where).includeTotalCount().skip(skipAmount).take(1).read().done(function (results) {
total = results.totalCount;
if(results[0] != undefined)
{
for (var i = results.length - 1; i >= 0; i--) {
list.push(results[i]);
console.log(results[i]);
}
}
else
{
resolve(list);
}
}, function (err) {
reject(err);
});
skipAmount++;
}
});
}
}
您可能需要使用 .orderBy()
或 .orderByDescending()
查询方法来确保返回排序后的数据。
table
.where(where)
.orderBy('updatedAt')
.includeTotalCount()
.skip(skipAmount)
.take(1)
.read()
.then(success, failure);
我最近了解到 azure 移动服务将其查询搜索限制为 50(如果更改默认值,则为 1000),但我的应用程序需要能够访问无限制的记录。我创建此服务是为了 return 一个包含所有记录的列表。我将跳过计数设置为 1,因为我想在执行像 50 这样的跳过计数之前确保它在小范围内工作。调试此代码后,它保持 returning 两条相同的记录,其中一条不同。我的数据库中有三个完全不同的记录,所以我很困惑为什么它两次选择其中一个。我确保在发出请求时,跳过金额为 0、1、2。
return new Promise(function(resolve, reject) {
var x = 0
var total = 1;
list = [];
console.log(list.length);
while(x <= 3){
x++;
var query = table.where(where).includeTotalCount().skip(skipAmount).take(1).read().done(function (results) {
total = results.totalCount;
if(results[0] != undefined)
{
for (var i = results.length - 1; i >= 0; i--) {
list.push(results[i]);
console.log(results[i]);
}
}
else
{
resolve(list);
}
}, function (err) {
reject(err);
});
skipAmount++;
}
});
}
}
您可能需要使用 .orderBy()
或 .orderByDescending()
查询方法来确保返回排序后的数据。
table
.where(where)
.orderBy('updatedAt')
.includeTotalCount()
.skip(skipAmount)
.take(1)
.read()
.then(success, failure);