解析基于参数字符串长度返回对象的查询(不过我过滤的参数)

时间:2015-09-04 13:03:16

标签: parse-platform

这让我很难过,我把头发拉到这里。

下面的简单查询查找当前用户的演讲:

var _debug = function(cb) {
  console.log('_debug')
  var DebugParseObject = Parse.Object.extend("Speech");
  var debugQuery = new Parse.Query(DebugParseObject);
  debugQuery.equalTo("user", _getCurrentUser()); // Incorrect results only occurs when I set the user with this line
  debugQuery.find({
    success: function(results) {
      console.log("Successfully retrieved " + results.length + " scores.");
      cb(results);
    },
    error: function(error) {
      console.log("Error: " + error.code + " " + error.message);
    }
  });
};

语音对象类具有以下额外列

  • 标题
  • speech_id
  • 用户(指针)

以下是奇怪的部分:查询只会返回正文字符串少于1000个字符的演讲

同样,我可以使用语音A,在正文字段中包含500个字符的字符串。它将作为演讲之一返回。但是如果我将Speech A的正文字符串增加到大约1500个字符,它将不再被返回。

我无法理解为什么。

进一步的观点

  1. 只有在我按用户过滤时才会这样。如果我搜索所有语句或通过其他参数(例如标题)查询,则返回正确的金额
  2. 这曾经在昨天和之前工作正常
  3. 我之前手动删除了一位用户(从表中删除了该行),而他们的链接语句仍然存在
  4. 我将这些语句的用户值从已删除的用户ID更改为新用户ID
  5. 演讲似乎有正确的用户
  6. 我尝试在语音的用户属性上重新保存用户对象,但它没有做任何事情
  7. 任何帮助都会很棒!当我删除用户行时,我觉得我已经损坏了用户类。但我无法证明这一点。

1 个答案:

答案 0 :(得分:0)

查询语法看起来很稳固,你应该完全符合Parse的存储限制。如果您有好奇心,对字符串长度没有明确的限制,但是解析对象限制为128k(当然除了Parse Files)。

我的猜测是,在复制不同的用户而不是删除的用户时,出现了问题。在浏览器中手动更改数据和指针总是存在风险并且容易出错。