본문 바로가기

Else/Personal Blog Building

Beomlog - Category and Firebase

Category별로 글을 가져오기 위해서 유저마다 새로운 컬렉션을 만들어 안에 글들의 짧은 정보가 담기도록 만들어 후에 게시판에 띄울 때 그 정보들이 뜨도록 하면서 동시에 각 카테고리별로 몇개의 글이 있는지 등등의 정보를 업데이트 할 수 있도록 하려고 한다.

 

먼저 user의 post들의 정보를 category별로 저장할 컬렉션을 만드려고 하는데, 이름을 고민하다가 그냥 postsByUser로 지었다. 먼저 각 post별로 게시판에 뜬다고 생각을 했을 때 중요한 정보들은 title, 글쓴이(userData), postId 정도가 될 것이다. editorData도 있으면 좋겠지만, 일단은 editorData를 저장하는 방식이 HTML 코드로 저장이 되기 때문에 일단은 보류하도록하고, time과 category도 저장하면 좋을것 같다. 따라서 postsByUser에는 정보가 다음과 같이 저장이 되게 될 것이다.

all에는 모든 글들을 넣을것이고, 이것들은 map으로 관리를 할 것이다. 따라서 postId를 key로 key에 해당하는 value들을 가져올 수 있도록 할 것이다. 먼저 해 줄 것은 파일을 업로드할 때 이 컬렉션에도 업로드를 할 수 있도록 하는 것이다. 그리고 게시물을 올릴때 총 3개의 비동기 작업이 필요하다. 첫째는 post에 게시물의 정보를 upload하는 것이고, 그다음은 postsByUser에 게시물 관련 정보를 concat하기, 그리고 user의 categories의 numOfDocs를 올려주기. 이 세개를 한번에 처리하려고 한다. 그러기 위해서는 firebase의 비동기 처리를 살짝 바꿔주자.

 

... 살짝 바꿔준다는게 아예 전체적인 틀을 갈아엎어 버렸다. 일단 이것저것 바꾸다보니 이제는 잘 된다. 나중에 관련 포스트를 업데이트 하도록 하겠다. 일단 post의 C (create)는 잘 된다. 이제 RUD만 바꿔주면 되는데, R은 게시판에 글들을 띄우는 것이 될 것이고, U는 update, D는 delete해서 모든것들을 갈아엎어 줘야 할 것이다. 하지만 이것만 끝나면 거의 모든게 끝이다. 내일 해보도록 하자!

'Else > Personal Blog Building' 카테고리의 다른 글

Beomlog - Posts by Category  (0) 2020.07.15
Beomlog - firebase bug fixing  (0) 2020.07.15
Beomlog - Categories and User Settings Update Page  (0) 2020.07.14
Beomlog - Post Page  (0) 2020.07.14
Beomlog - Writing Page & Upload  (0) 2020.07.14