Parse.com包括密钥查询超过堆栈大小

时间:2015-03-03 14:36:31

标签: javascript backbone.js parse-platform promise

我正在Parse / backbone应用程序中的浏览器上的Parse查询中构建Parse.com查询。

我有一个两阶段查询(并且想要中间结果)所以我在第一个查询的fetch中的when子句中构造第二个查询:

// changeJob is a backbone event handler triggered from global app state
changeJob: function() {

  var taskQuery = new Parse.Query(Task);
  taskQuery.equalTo("publicJob", theAppState.get("publicJob"));
  taskQuery.equalTo("status", "accepted");

  taskQuery.limit(20);

  this.tasks.query = taskQuery;
  var self = this;
  this.tasks.fetch().then(function(foundTasks){

    console.log("got " + foundTasks.length + " tasks");
    var responsesQuery = new Parse.Query(StepResponse);
    responsesQuery.containedIn("task", foundTasks);    /// Stack blows here
    responsesQuery.include("task");
    responsesQuery.include("task.taskLocation");
    responsesQuery.limit(1000);

    self.responses.query = responsesQuery;

    console.log("fetch the step responses");
    self.responses.fetch();
  });

我的集合是使用全局范围声明的模型对象:

var StepResponse = Parse.Collection.extend("StepResponse", {
    });

// StepResponse Collection
var StepResponseCollection = Parse.Collection.extend({
  model: StepResponse,
    });

var Task = Parse.Object.extend("Task", {
    });

// Task Collection
var TaskCollection = Parse.Collection.extend({
  model: Task,
});

当我尝试基于第一个查询中使用数组来限制内部查询时,我得到了超出最大堆栈大小的错误。

我见过一些人在SO上讨论这个问题,但我不认为它们是重复的 - 我在这两个类之间没有任何双向链接,当我设置查询时堆栈就会爆炸,在我执行它之前尝试保存任何对象。

0 个答案:

没有答案