Light Blue Pointer
본문 바로가기
개발일지

2023-10-06, Today I Learned

by 개발바닥곰발바닥!!! 2023. 10. 6.

1. DataSnapshot.forEach() 를 사용하면 Datasnapshot의 하위 항목이 쿼리 순서대로 반복됨

child가 하위 항목임

 

const dbRef = database.ref('logs');
    dbRef.on("value", (snapshot) => {
        snapshot.forEach((child) => {
            const object = child.val();

            if (id == child.ref.key) {
                if (object.pw == password) {
                    dbRef.child(id).remove();
                }
                else {
                    alert("잘못된 비밀번호");

                }
            }
        });
    });

명시적인 orderBy() 메서드를 사용하지 않으면 결과가 키순으로 반환됨

내 db에 'ups'가 존재하지 않아서 그냥 생성된 순으로 반환된 거 같아

const dbRef = database.ref('logs').orderByChild('ups').limitToLast(3);
    dbRef.on("value", (snapshot) => {
        snapshot.forEach((child) => {

            const object = child.val();
            let temp = `
            <p><span><img class="pfp" , src="./image/minsun/pfp/${object.pfp}.png" , alt="pfp"></span>${object.content} (${object.name})</p>
            `

            $('#visit-comment').append(temp);

        });
    });

 

2. child 의 key값 = 내 db의 autogenerated id값을 얻는 방법을 알아냄

child.ref.key를 쓰면 알 수 있다

dbRef.on("value", (snapshot) => {
        snapshot.forEach((child) => {
            const object = child.val();

            if (id == child.ref.key) {
                if (object.pw == password) {
                    dbRef.child(id).remove();
                }
                else {
                    alert("잘못된 비밀번호");

                }
            }
        });
    });

3. window.location.reload(); 를 코드에 추가하면 페이지를 새로 불러온다

 

'개발일지' 카테고리의 다른 글

2023-10-20 Today I Learned  (1) 2023.10.20
2023-10-19, Today I Learned  (1) 2023.10.19
2023-10-10, Today I Learned  (0) 2023.10.10
2023-10-07, Today I Learned  (0) 2023.10.07
2023-10-05, Today I Learned  (0) 2023.10.05