2014-12-27 88 views
0

我在遇到以下查询时遇到了问题。我很确定所有的键是正确的,但查询没有返回任何对象。问题的线是:Javascript解析查询

query.equalTo("author", Parse.User.current()); 

如果我把那条线,然后它返回给我一个随机用户的对象,但我想这个用户的对象。如果我离开那条线,我就没有物体。

var query = new Parse.Query("personalInfoObject"); 
console.log(Parse.User.current().getUsername()); 
query.equalTo("author", Parse.User.current()); 
query.find({ 
success: function(results) { 
    // results is an array of Parse.Object 
    var obj=results[0]; 
    console.log(obj) 

}, 

回答

0

User看起来像一个复杂的物体。如果author是一个简单的字符串,则该比较将找不到任何内容。我看到你正在将username打印到日志中,也许这就是你想用于where子句的内容。没有对象的结构很难知道。

+0

从这个意义上讲,这不等于文档说:equalTo(key,value) 向查询添加一个约束,该约束要求特定键的值等于所提供的值。 – 2014-12-27 15:47:01

+0

如果'User'是一个复杂的对象,我认为它会使用它的字符串表示来进行比较。我不清楚那会是什么 - 它可能就是'[Object object]' - 这就是你将比较'author'的'价值'。我尝试使用与'personalInfoObject'中'author'属性对应的当前用户对象的那部分。 – tvanfosson 2014-12-27 15:54:34

+0

@tvanfossen你是正确的我犯了我的数据方案的错误。 – 2014-12-27 16:05:06