구글링 하는 방법 (단순 경험)

etc

목록 보기
5/19

글 조회할 때, 한번 클릭하면 조회수가 1씩 증가하는 방법을 찾으려고 했다.

내가 검색한 키워드들은

'flask how to get views', 'flask hits', python hits, python views .... 등등

근데 조회수가 1씩 증가하는 건, 데이터베이스를 업데이트 하는거기 때문에 pymongo,mongoDB 즉 DB 키워드를 넣어서 검색해야 됐다는 것을 1시간 동안 검색해보고 깨달았다.... 왠지 너무 안나오더라...... ㅠㅠ

그리고, 처음에 개떡같이 'flask 조회수' 라고 검색해서 찾았던 블로그에서 가장 큰 힌트를 얻었다.

# 실패했지만, 큰 힌트가 된 코드 
post = current_app.db.posts.find_one_and_update({'_id': ObjectId(post_id)}, {'_id': False},
                                                    {"$inc": {"hits": 1}},return_document=True)

여기서 find_one_and_update 라는 것과 $inc 가 큰 힌트였고, 블로그에 있던 코드를 약간 변경해서 위의 코드를 내 파이참 코드에 넣었는데... 실패... 그래서 이것 저것 찾고, pymongo 키워드와 함께 검색해본 결과. 답을 찾을 수 있었다.

이때, 또 find_one_and_update 에 꽂혀가지고 이걸 어떻게든 써보려다가, 아! 근데 그냥 업데이트를 따로하면 되잖아? 하고 밑에 링크보고 코드 짰다.

https://www.mongodb.com/docs/manual/reference/operator/update/inc/

# 원래 있던 게시글 조회 코드
post = current_app.db.posts.find_one({'_id': ObjectId(post_id)}, {'_id': False})
# 조회수 증가 코드
current_app.db.posts.update_one({'_id': ObjectId(post_id)}, {'$inc': {'hits': 1}})

이걸로 해결했다.... 계속 hits = current_app ~~ 어쩌고로 코드 짜려고 한다... 없애도 되는데... 그럼 또 저 hits를 다른데에 넣으려하고..

기본없이 응용하려니까 이렇게 계속 꼬이는 것 같다..! 어제랑 같은 증상... 그래도 해결돼서 기분이 좋다 🥹😵‍💫

profile
백엔드를 공부하고 있습니다.

0개의 댓글