2015-09-04 50 views
0

这让我难住,我拉我的头发在这里。下面解析查询返回基于参数字符串长度的对象(不是参数I过滤虽然)

简单的查询查找讲话为当前用户:

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. 我试图重新保存用户对象在演讲的用户属性上,它没有做任何事情

任何帮助都会很棒!当我删除用户行时,我觉得我已经损坏了用户类。但我无法证明这一点。

回答

0

查询语法看起来很稳定,您应该完全处于Parse的存储限制范围内。如果你好奇,没有对字符串长度的明确限制,但解析对象限于128k(当然除了解析文件)。

我的猜测是,在复制不同的用户而不是您删除的用户时出现错误。手动更改浏览器中的数据和指针始终是冒险的,并且容易出错。

+0

我刚刚发现。我在想'如果用户界面允许我这样做,它一定是安全的'。我创建了一个新的应用程序,一切正常(谢天谢地,我们还没有很多用户)。所以它必须与用户有关 – Lango

相关问题