승부차기 점수가 매 달 초기화가 되어야하는데,
mongoDB 의 gamezone_shooting 이름의 collection 안에 점수들이 다 저장되어있기 때문에
통째로 그 collection 을 삭제하면 점수가 초기화가 되었다.
그래서 알아보니,
const collectionName = 'gamezone_shooting';
await db.dropCollection(collectionName);
위와 같은 방법으로 collection 이름을 지정한다음 삭제해주면 되었다.
근데 문제가 하나 발생했다.
점수 순서대로 출력하기 위해서 승부차기 탭에서
const shootingScoreArray = Object.entries(ShootingScore);
shootingScoreArray.sort((a, b) => b[1].top_score - a[1].top_score);
for (let i = 0; i < shootingScoreArray.length; i++) {
%>
<div class="MvpBoard-area">
<div class="MvpBoard-area-rank">
<%= i + 1 %>
</div>
<div class="MvpBoard-area-name">
<%= shootingScoreArray[i][1].name %>
</div>
<div class="MvpBoard-area-rank">
<%= shootingScoreArray[i][1].top_score %>
</div>
</div>
<% } %>
위와 같이 코드를 썼었다.
그러다보니 점수를 초기화 시키면 ShootingScore 의 데이터가 없어서
위 코드에서 정의내리지 않은 변수값이 있다는 오류가 떴다.
그래서 변수가 있는 경우에만 해당 코드를 실행시키기 위해서 위 코드를 if 문 안에 넣었다.
<%
if (typeof ShootingScore !=='undefined' ) {
const shootingScoreArray = Object.entries(ShootingScore);
shootingScoreArray.sort((a, b) => b[1].top_score - a[1].top_score);
for (let i = 0; i < shootingScoreArray.length; i++) {
%>
<div class="MvpBoard-area">
<div class="MvpBoard-area-rank">
<%= i + 1 %>
</div>
<div class="MvpBoard-area-name">
<%= shootingScoreArray[i][1].name %>
</div>
<div class="MvpBoard-area-rank">
<%= shootingScoreArray[i][1].top_score %>
</div>
</div>
<% } %>
<% } %>
그렇게하니
MongoServerError: ns not found
의 에러문이 나왔는데,
이는 collection 이 없어서 나오는 에러라고 한다.
어떤 방법이 있을지 고민하다가
삭제를 시킨 후에 다시 삭제한 같은 명의 collection 을 생성하자는 생각을 했다.
근데 또 생각해보니 그러면 분명히 collection 은 유지시키면서 안에 있는 데이터를 밀어버리는 코드가 있지 않을까?
해서 알아보니,
const collection = db.collection(collectionName);
await collection.deleteMany({});
위와 같이 코드를 짜주면 되었다.
승부차기 탭에서 신기록을 갱신을 하면 자동으로 점수판으로 돌아가는 코드를 짜놨었는데, 좀 더 친절하게
if (currentScore > data.top_score) {
alert('신기록갱신!')
location.href = `/gamezone-shooting-scoreboard?score=${encodeURIComponent(currentScore)}`;
}
})
.catch(error => console.error('Error checking top_score:', error));
먼저 alert 로 신기록갱신을 알려주고 그 이후에 데이터를 전달시켰다.
'Project > 축구모임 홈페이지개발' 카테고리의 다른 글
[축구모임 홈페이지개발] 03/18 출시 이후 점검 (0) | 2024.03.18 |
---|---|
[축구모임 홈페이지개발] 02/27 개발일지 Nodejs / 사이트 확대 제어 meta tag (1) | 2024.02.27 |
[축구모임 홈페이지개발] 02/19 개발일지 Nodejs / 로그인 에러 수정 (0) | 2024.02.19 |
[축구모임 홈페이지개발] 02/14 개발일지 출시 전 세부 디자인 수정 (0) | 2024.02.19 |
[축구모임 홈페이지개발] 02/13 개발일지 사진탭 미팅 (0) | 2024.02.14 |