2015-12-02 154 views
0

我有一个类用户,它与类Containers有关系。 我知道容器对象的Id,我试图弄清楚用户是否有特定的容器作为关系。查询查询中的关系匹配

我的代码如下所示:

Parse.User.currentAsync().then((myself) => { 

     // create a relation based on the containers key 
     var relation = myself.relation('containers'); 

     // generate a query based on that relation 
     var query = relation.query(); 

     query.equalTo('id', oArgs.container.id); 

     query.find().then((found) => { 
      if (found.length > 1) { 
       deferred.resolve(true); 
      } else { 
       deferred.resolve(false); 
      } 
     }); 

    }); 

我总是得到一个空的结果集。 任何人都可以帮助我理解为什么,并解释什么正确的方法是匹配关系中的特定对象?

感谢

回答

1

原来,使用

query.equalTo('id', oArgs.container.id); 

不起作用。 相反,我用这个:

query.equalTo('objectId', oArgs.container.id); 

和它的工作就好了。

+0

是的。该属性称为objectId,但JS SDK访问者被误导地称为id。还要注意,'query.get(oArgs.container.id)'是等价的并且更简洁一些。 – danh