【问题标题】:Implementing OR Condition using Parse Android SDK?使用 Parse Android SDK 实现 OR 条件?
【发布时间】:2025-12-23 04:40:16
【问题描述】:

我是 Parse 的新手,我正在开发一个使用 Android PARSE Sdk 的项目,所以我想知道如何使用 android sdk 进行 where 查询或条件。

我想进行这样的查询 [伪代码]

Select * from employ where employId is ("1","2","3")

我在解析文档中找到了this,我不知道它是否有帮助。

编辑:

这是我在 PARSE 上找到的,但它不起作用

String[] id= {"1","2","3"};
query.whereContainedIn("employId ", Arrays.asList(id));

它返回给我一个空列表,但是如果我一个一个地查询它们,我会得到结果...谁能告诉我有什么问题?

【问题讨论】:

    标签: android parse-platform parse-android-sdk


    【解决方案1】:

    您可以使用 whereContainedIn 来选择特定的行。看到这篇文章你可以得到更多的想法。 https://www.parse.com/questions/different-arrays-and-wherecontainedin-for-android.

    List<String> employId = new ArrayList<String>();
    employId.add("1"); employId.add("2"); employId.add("2");
    query.whereContainedIn("employId", employId);
    

    如果你还不清楚。检查这个https://www.parse.com/docs/android_guide#queries

    【讨论】:

    • 它不工作。你能写出确切的查询或代码吗?
    • 它给出了错误,它甚至没有编译。它说“类型 ParseQuery 的 whereContainedIn(String, Collection extends Object>) 方法不适用于参数 (String, String[])”
    • 兄弟,我正在这样做,但即使有记录,它也不会返回任何记录。在我使用列表中的单独值进行查询之前,它正在返回记录,但以这种方式它不返回任何记录
    • 尝试使用整数而不是字符串作为雇员 ID。
    • 我解决了。检查我的答案。愚蠢的解析文档
    【解决方案2】:

    我已经找到了解决方案,我必须说 PARSE 相当蹩脚,更不用说在文档中的任何地方提及这一点了。

    问题是我在 inwhereContainedIn 方法中使用的值是字符串类型但实际上它们是指向另一个表行的指针。 我试图仅使用 ids[因为它在解析中显示] 来获取值,但我必须传递 whole object 才能检索它们。这就是它返回空列表的原因。

    问题是即使它显示 ID [指向表中对象的指针],我们也不能仅使用 ID 进行搜索,而是如果我们想基于特定对象搜索表,则必须使用完整的 Parse 对象。

    【讨论】: