4

我正在使用 angularjs 并parse.com使用spotlight = true.

当我第一次使用时,它会找到一个,但是当我使用 find 时,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) {....

我认为这会慢一些。还想知道正确的代码??

4

1 回答 1

0

在对 Stackoverflow 和 back4app.com 进行搜索和提问后,我找到了自己的工作(我所有的问题都没有收到什么反馈)。

我使用了 REST。“大于”(#gt)日期有一个棘手的问题。我在 stackoverflow 上找到了工作语法。另外“请记住使用https://parseapi.back4app.com/端点而不是https://api.parse.com/1/ ”来自 Davi Macedo,这是我在 Google Groups 上搜索时遇到的。

$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);
  });

这运作良好,我的查询完全可以替换损坏的查找查询。

于 2016-08-11T20:02:34.727 回答