3

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

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

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

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

编辑:

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

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

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

4

2 回答 2

3

您可以使用 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

于 2014-07-04T06:31:09.800 回答
1

我找到了解决方案,我必须说它的PARSE相当蹩脚,在文档中的任何地方都没有提到这一点。

问题是我在whereContainedIn方法中使用的值是 String 类型, 但实际上它们是指向另一个表的 row 的指针。我试图只使用那里的ids [因为它显示在解析中]来获取值,但我不得不传递整个对象才能检索它们。这就是它返回空列表的原因。

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

于 2014-07-04T08:05:31.143 回答