Here is how I would model a comment thread if you have X amount of posts that might each have separate comment threads.
getComments
getComments(parentID: string, postID: string) { return db.collection(`posts/${postID}/comments`) .where('parent', '==', parentID) .orderBy('createdAt', 'desc'); }
posts/postID/comments
commentDoc - root
{ text: 'comment contents', uid: 293slek2l2s, parent: 'root', createdAt: serverTimestamp() }
commentDoc - child
{ text: 'comment contents', uid: 293slek2l2s, parent: 'parentID', createdAt: serverTimestamp() }
post component
<comment parent="root', post="54232k21">
comment component
<div class="container tab"> <if comments=getComments(parent, post)> <forEach comments as comment> {{ comment.text }} user: {{ comment.uid }} <comment parent="comment.id", post="54232k21"> </comment> <endIf> </div>
This HTML code is highly dependent on your framework, but I wanted to give a general idea of how I would model this.
Hopefully this works for you.
I will probably implement it in my Angular Project eventually.
J
Top comments (0)