我正在使用angularjs和parse.com
来查询spotlight = true
的三名成员。
当我第一次使用它时会找到一个,但当我使用limit(3)
查找它时,它什么都找不到。我甚至删除了Limit(3)
但仍然没有删除。我在网上搜索过,尝试了一些我发现仍然没有结果的东西。
app.controller('spotlightCtrl', function($scope, $q) {
$scope.sl = {};
$scope.slmemid = "";
Parse.initialize("xxx", "xxx");
Parse.serverURL = 'https://parseapi.back4app.com';
var ArticleDfd = $q.defer();
var members = Parse.Object.extend('members');
var query = new Parse.Query(members);
query.equalTo("spotlight", true);
query.first().then(function (data) {
//query.find().then(function (data) { -----this find does not return results.
ArticleDfd.resolve(data);
}, function (error) {
ArticleDfd.reject(data);
console.log(error);
});
ArticleDfd.promise
.then(function (article) {
$scope.sl = article.attributes;
$scope.slmemid = article.id;
console.log(article);
})
.catch(function (error) {
//do something with the error
console.log(error);
});
});
仍然在寻找一种方法来做到这一点。 我找到了一个解决方法。我使用skip()函数并生成三个控制器。
app.controller('spotlightCtrl1', function($scope, $q) {.....
.....
query.equalTo("spotlight", true);
query.first().then(function (data) {
app.controller('spotlightCtrl2', function($scope, $q) {......
.....
query.equalTo("spotlight", true).skip(1);
query.first().then(function (data) {...
app.controller('spotlightCtrl3', function($scope, $q) {......
.....
query.equalTo("spotlight", true).skip(2);
query.first().then(function (data) {....
我认为这会慢一点。还是想知道正确的代码??
答案 0 :(得分:0)
在搜索并向Stackoverflow和back4app.com提问后,我找到了自己的工作(我的所有问题都收到的反馈很少)。
我使用REST。 “greaterthan”(#gt)日期有一个棘手的问题。我在stackoverflow上找到了工作语法。此外,“请记住使用来自Davi Macedo的https://parseapi.back4app.com/端点,而不是https://api.parse.com/1/”,这是我在搜索Google网上论坛时遇到的。
$http({
method: 'GET',
url: ' https://parseapi.back4app.com/classes/Events',
headers: {
'X-Parse-Application-Id' : 'xxxx',
'X-Parse-REST-API-Key' : 'xxxx',
'Content-Type' : 'application/json'
},
params: {
where: {
'Luncheon': true,
'eventDate':{'$gt': {
"__type":"Date", "iso": currentTime
}
}
},
order: 'eventDate',
limit: 2
}
}).then(function successCallback(response) {
// this callback will be called asynchronously
// when the response is available
$scope.events = response.data.results;
}, function errorCallback(response) {
// called asynchronously if an error occurs
// or server returns response with an error status.
console.log(response);
});
这个效果很好,我的查询完全可以替换破坏的查找查询。