[
x
]的第一个字符串
我尝试使用用户设置查询后收集,但设置是一个超过10个元素的数组,没有返回任何内容。我知道文档确实提到了10个元素的限制,有人知道解决方法吗?
firebaseApp.collection('posts')
.where("newTag", "in", mySettings)
.get()
let array = [];
posts.forEach((post) => {
array.push(post.data());
});
dispatch({ type: ActionTypes.GET_POSTS, payload: array });
5条答案
按热度按时间2nbm6dog1#
一个简单的数组分块函数可以解决您的问题:
然后,一个用于等待黑客来获取快照的方法也可以工作:
35g0bw712#
解决方法是分别对
mySettings
中的每个项执行查询,然后在客户端合并结果。或者,将mySettings
拆分为另一个数组集合,每个数组包含10个或更少的项,分别对其中的每个项执行查询,然后在客户端合并结果。flseospp3#
执行mysettings的其中using a chunk of the array,每个块的最大大小为10,然后将结果加入单个数组
zkure5ic4#
这个解决方案使用typescript,你可以把这个转换成你的编程语言。
时间复杂性:而循环运行
length / 10
次。ugmeyewa5#
下面是更多的Typescript eslint友好方式(不使用
any
)ArrayUtils.ts
中的数组块方法现在在
FirebaseUtils.kt
中,您可以写入与this相比几乎没有优势答案
1.重构为适当的实用程序方法以实现可重用性
1.使用
Promise.all
,它是并行的,比for await
更推荐使用,因为当我们没有预先做出所有承诺时,会使用后者。请参见this