Back/Node.js

Node.js 친구가 쓴 글만 내려주기 [MongoDB]

Node.js 친구가 쓴 글만 내려주기

// 친구가 쓴 글만 보여주기 //
router.post("/show_friend_feed", async (req, res) => {

    const { token } = req.headers;
    const post_lists = await Post.find({});
    payload = jwt.verify(token, "team2-key");
    const { friend_list } = await User.findOne({ _id: payload.userId })

    const { name } = await User.findOne({ _id: payload.userId })
    const { insta_Id } = await User.findOne({ _id: payload.userId })

    friend_feed_list = []

    for (let i = 0; i < post_lists.length; i++) {
        if (friend_list.includes(post_lists[i]["name"]) == true) {
            friend_feed_list.push(post_lists[i])
        }
    }
    res.json({
        post_list: friend_feed_list
    })

});

 

처음엔 for문을 안 쓰고, 하려했는데, 결국 for문을 썼다..

 

1. post 테이블 전체를 가져온다. 나중에 클라이언트한테 뿌려 줄 friend_feed_list의 빈 배열을 만든다.

2. 1번을 post_list로 저장하고, post_list의 name값만 가져온다.

3. user테이블의 friend_list를 가져온다.

4. 나중에 클라이언트한테 뿌려 줄 friend_feed_list의 빈 배열을 만든다.

5. post_list를 for문으로 돌리고, post_list["name"]이 user["friend_list"]에 속하는지 검사한다.

6. includes를 사용하여 만약 true라면 친구가 쓴 글이니까, friend_feed_list에 push한다.

7. friend_feed_list를 뿌려준다.

'Back > Node.js' 카테고리의 다른 글

Node.js 유저인증 미들웨어  (0) 2021.04.12
Node.js passport 이용한 구글 로그인  (0) 2021.04.11
Node.js 좋아요, MongoDB  (0) 2021.04.08
Nodejs 친구목록 친구추가  (0) 2021.04.03
노드js 유저 인증하기  (0) 2021.04.01