在如何与firestore进行一些关系查询同时坚持最佳实践方面,我面临着一些心理障碍。我正在创建一个Feed功能,您可以在其中查看来自朋友的帖子的Feed。从本质上讲,我的数据结构如下:
Friends (collection)
-friend_doc
...data
friends_uid: [uid1, uid2]
Posts (collection)
-post_doc
...data
posted_by: uid2
基本上,我正在进行查询以获取friends_uid包含我的uid(在本例中为uid1)的所有朋友。然后,一旦我将所有朋友的uid映射到一个数组,我想做一个firestore查询,以获得posted_by字段等于该朋友uid数组中的任何uid的帖子。我还没有能够做出类似的事情。
我知道循环访问朋友uid的字符串数组并为每个数组进行查询似乎最方便,例如:
listOfUids.forEach(async (item) => {
const postQuerySnapshot = await firestore()
.collection('posts')
.where('uid', '==', item)
.get();
results.push(postQuerySnapshot.docs);
});
但这对于分页和限制数据来说是非常成问题的,因为我可能会收到大量的帖子。我可能只是太深入这个代码,缺少一个明显的解决方案,或者我的数据结构有些缺陷。任何见解将不胜感激。
LEATH
幕布斯6054654
相关分类