我想从 firebase 中的所有用户那里获取帖子 react native
Posted
技术标签:
【中文标题】我想从 firebase 中的所有用户那里获取帖子 react native【英文标题】:I wanna fetch posts from all the users in firebase react native 【发布时间】:2021-10-28 14:55:50 【问题描述】:我想从 firebase 中的所有用户那里获取帖子。
这是获取代码
const fetchPosts = async () =>
try
const list = [];
await db
.collection(`posts/*/userPosts`) // This is the line I want help with...
.get()
.then((querySnapshot) =>
// console.log('Total Posts: ', querySnapshot.size);
querySnapshot.forEach((doc) =>
const userId, post, postImg, likes, comments = doc.data();
list.push(
id: doc.id,
userId,
userName: "Test Name",
userImg:
"https://lh5.googleusercontent.com/-b0PKyNuQv5s/AAAAAAAAAAI/AAAAAAAAAAA/AMZuuclxAM4M1SCBGAO7Rp-QP6zgBEUkOQ/s96-c/photo.jpg",
post,
postImg,
liked: false,
likes,
comments,
);
);
);
setPosts(list);
if (loading)
setLoading(false);
console.log("Posts: ", posts);
catch (e)
console.log(e);
;
useEffect(() =>
fetchPosts();
, []);
我的 firebase cloud firestore 集合显示在 msg 下方的图片中。
这条路径是这样的:/posts/UserUID/userPosts/PostUID
问题是,如果用户添加帖子,它只会像这样保存/posts/UserUID/userPosts/PostUID
。
所以我想做的就是从所有用户那里获取帖子并呈现它们。
赞await db.collection(`posts/UserUID/userPosts`) // And there is more but not required for now
工具: javascript, 世博会, 反应原生, 火力基地, 云火库
【问题讨论】:
【参考方案1】:使用集合组。
替换
await db.collection(`posts/*/userPosts`)
与
await db.collectionGroup(`userPosts`)
【讨论】:
以上是关于我想从 firebase 中的所有用户那里获取帖子 react native的主要内容,如果未能解决你的问题,请参考以下文章
使用带有快递的帖子:我想从用户那里接收数据,然后用新文件将该数据发送回用户