包含指针列表的解析查询约束(where,$ in)

时间:2017-02-02 11:12:07

标签: ios objective-c parse-platform

我在Parse中有两个表:ProductIntroduction

简介有一个指针列product和一个字符串列status

enter image description here

我可以轻松检索所有具有状态"现场,已验证"将以下参数添加到我的GET简介请求(Parse documentation)

{
    where =     {
        status =         {
            "$in" =             (
                live,
                validated
            );
        };
    };
}

现在,我想要检索所有的介绍,例如,所有产品都是以及#34; Jpun01VJ3c,AkxTvIdZTQ"。

我尝试以下参数(我也尝试在$in内只有一个ObjectId数组:" $ in" =(Jpun01VJ3c,AkxTvIdZTQ);)。

{
    where =     {
        product =         {
            "$in" =             (
                                {
                    "__type" = Pointer;
                    className = Product;
                    objectId = Jpun01VJ3c;
                },
                                {
                    "__type" = Pointer;
                    className = Product;
                    objectId = AkxTvIdZTQ;
                }
            );
        };
    };
}

所以,问题是: 我们如何通过产品列表检索介绍?

你有什么建议吗?

ps:对于像这样的特定产品,只检索一个简介没有问题:

{
    where =     {
        product =         {
            "__type" = Pointer;
            className = Product;
            objectId = Jpun01VJ3c;
        };
    };
}

谢谢

1 个答案:

答案 0 :(得分:1)

在这种情况下,您可能希望使用matchesQuery代替containedIn

以下代码是JS但很容易翻译:

var productQuery = new Parse.Query("Product");
productQuery.containedIn("objectId", [ YOUR LIST OF IDs ]);

var introductionQuery = new ParseQuery("Introduction");
introductionQuery.matchesQuery("product", productQuery);
introductionQuery
  .find()
  .then(function(introductions) {
    [...]
  });

有关iOS的更多信息:https://parseplatform.github.io/Parse-SDK-iOS-OSX/api/Classes/PFQuery.html#/c:objc(cs)PFQuery(im)whereKey:matchesQuery