本地合并 Firestore 查询
由于 Firestore 缺乏逻辑 OR 运算符,因此在本地合并多个查询可能是一个挑战。一种方法是将查询嵌套在另一个查询的 onSuccessListener 中。然而,这可能会引起对性能的担忧。
为了解决这个问题,建议使用任务的替代解决方案。 whenAllSuccess() 方法合并两个或多个任务,并在所有任务成功完成时调用回调:
Query firstQuery = rootRef... Query secondQuery = rootRef... Task firstTask = firstQuery.get(); Task secondTask = secondQuery.get(); Task combinedTask = Tasks.whenAllSuccess(firstTask, secondTask).addOnSuccessListener(new OnSuccessListener<List<Object>>() { @Override public void onSuccess(List<Object> list) { //Do what you need to do with your list } });
在此示例中,传递给 onSuccess() 回调的列表包含两个查询的结果与定义任务的顺序相同。
另一个选项是 continueWith() 方法,该方法会链接任务并在前面的任务成功完成时调用回调。 whenAllSuccess() 和 continueWith() 之间的选择取决于具体的应用程序要求和用例。
以上是如何使用任务在本地合并 Firestore 查询?的详细内容。更多信息请关注PHP中文网其他相关文章!