查询首先有效,但查找无效

Query first works but find does not

我正在使用 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) {....

我认为这会更慢。还想知道正确的密码??

在向 Whosebug 和 back4app.com 搜索并提问后,我找到了自己的解决方法(我所有的问题都收到了很少的反馈)。

我使用了 REST。 "greaterthan" (#gt) 日期有点棘手。我在 Whosebug 上找到了工作语法。还有 "Just remember to use https://parseapi.back4app.com/ endpoint instead of https://api.parse.com/1/" 来自 Davi Macedo,我在 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);
  });

这很有效,我的查询完全可以替换损坏的查找查询。