Node.js 와 Firebase를 이용하여 push, read, update, delete 하는 과정을 포스팅하겠습니다. Firebase와 연동하지 않으신 분들은 아래 링크를 이용하여 Node.js Firebase 연동과정을 먼저 진행해주시면 됩니다.
https://liveloper-jay.tistory.com/15
[Nodejs] Google Firebase DB Connection
Node.js 환경에서 Firebase의 데이터베이스를 연결하고자 하는 경우 Firebase 공식 홈페이지(https://firebase.google.com) 에 접속하면 Firebase를 로컬 컴퓨터에 연결하기 위한 키 값이 제공되어있다. Firebase..
liveloper-jay.tistory.com
Push
다음은 querystring을 통해 받은 값을 데이터베이스에 저장하는 과정입니다.
// push 를 사용하면 데이터베이스의 데이터 목록에 추가하며 목록에 새 노드를 푸시할 때마다
// 데이터베이스에서 고유 키(예: test/user//파이어베이스에서 만들어 주는 키/)를 생성한다.
// querysting을 통해 받은 값 저장
router.get('/push', function (req, res) {
let query = req.query.name;
database.ref('user').push({ name: query }, function (error) {
if (error)
console.error(error)
else
console.log("success save !!");
});
return res.json({ firebase: true });
});
Read
Read는 데이터베이스를 조회하는 과정이며 once와 on이 있습니다.
1. once
once의 경우 변경을 수신 대기하지 않고 단순히 데이터의 snapshot만 필요한 경우에 사용하며 이 메소드는 한 번 호출된 후 다시 호출되지 않습니다.
router.get('/read', function (req, res) {
database.ref('user').once('value', function (snapshot, error) {
const data = snapshot.val();
if (error) {
console.error(error);
}
else
console.log("success save !!");
console.log(snapshot.val());
return res.json(data);
});
});
2. on
on은 해당 위치의 모든 데이터를 포함하는 스냅샷이 이벤트 콜백에 전달됩니다.
router.get('/on', function (req, res) {
database.ref('user').on('value', function (snapshot, error) {
const data = snapshot.val();
if (error) {
console.error(error);
}
else
console.log("success save !!");
console.log(data);
return res.json(data);
});
});
Update
Update는 데이터 갱신 시 사용되며 update와 set이 있습니다.
1. update
router.get('/update', function (req, res) {
database.ref('user/-MaAS6xbNZEpAdZVny0R').update({ name: 'Asda' })
return //res.json(data);
});
2. set
set 을 사용하면 지정된 위치에서 하위 노드를 포함하여 모든 데이터를 덮어쓰게 됩니다. 키 값이 따로 없으며 지정된 위치에 바로 저장됩니다.
router.get('/set', function (req, res) {
database.ref('user').set({ name: " " }, function (error) {
if (error)
console.error(error)
else
console.log("success save !!");
});
return res.json({ firebase: true });
});
Delete
다음은 delete를 통해 데이터베이스를 삭제하는 과정입니다.
// remove
router.get('/delete', function (req, res) {
database.ref('user').remove(function (error) {
if (error) {
console.error(error);
}
else
console.log("success save !!");
});
return res.json({ firebase: true });
});
'BackEnd > Node.js' 카테고리의 다른 글
[Nodejs] Google Firebase DB Connection (0) | 2021.12.10 |
---|---|
[Node.js] express-Session을 이용한 로그인 구현 (0) | 2021.12.10 |
[Node.js] Multer 모듈을 이용한 파일 업로드 (0) | 2021.12.10 |
[Node.js] Node.js와 MySQL을 이용한 CRUD 서버 만들기 (1) | 2021.12.10 |
[Node.js] Express 라우터(Router) (0) | 2021.12.10 |
댓글