티스토리 뷰
실시간으로 데이터 저장 및 동기화 : https://firebase.google.com/products/database/?authuser=0
JSON 데이터 실시간 동기화
Firebase 실시간 데이터베이스는 실시간으로 데이터를 저장하고 사용자 간에 동기화할 수 있는 클라우드 호스팅 NoSQL 데이터베이스입니다.
데이터베이스를 사용할 때 지금까지는 오라클, MySQL, MsSQL 같은 관계형 데이터베이스를 사용했었다.
관계형데이터베이스 - by. 위키트리
이 모델은 데이터를 컬럼(column)과 로우(row)를 이루는 하나 이상의 테이블(또는 관계)로 정리하며, 고유 키(Primary key)가 각 로우를 식별한다.
NoSQL - by. 위키트리
일관성 모델을 이용하는 데이터의 저장 및 검색을 위한 매커니즘을 제공한다.
파이어베이스의 데이터베이스는 편리한 부분이 데이터를 넣고 나면 아래 처럼 보기 편하게 나온다.
JSON 형태로 뽑아볼 수도 있기 때문에 데이터 가공이 굉장히 편리하다.
(+)형태를 선택하면 그 아래 데이터도 볼 수 있습니다.
저장 일시도 확인 할 수 있습니다.
실제로 적용된 소스 코드를 살펴봅니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | var config = { apiKey: "본인키", authDomain: "본인꺼", databaseURL: "본인", storageBucket: "본인", messagingSenderId: "본인" }; function regist(today, collect){ firebase.database().ref('todayVisit/'+today+'/').set({ userCollect : collect }); } /*값을 빼보자*/ function show(today){ firebase.database().ref('todayVisit/'+today+'/').on('value', function(e){ var message = e.val(); console.log(message.userCollect); }); } | cs |
위의 소스 예제에서 show 함수를 사용하면 값을 뽑을 수 있습니다.
아래에 기본 사용방법이 있습니다.
다음 예제에서는 데이터베이스에서 게시물의 별표 수를 검색하는 소셜 블로깅 애플리케이션을 보여 줍니다.
var starCountRef = firebase.database().ref('posts/' + postId + '/starCount');
starCountRef.on('value', function(snapshot) {
updateStarCount(postElement, snapshot.val());
});
var starCountRef = firebase.database().ref('posts/' + postId + '/starCount');
starCountRef.on('value', function(snapshot) {
updateStarCount(postElement, snapshot.val());
});
리스너는 이벤트 발생 시점에 데이터베이스에서 지정된 위치에 있던 데이터를 포함하는 snapshot
을 수신합니다. val()
메소드로 snapshot
의 데이터를 검색할 수 있습니다.
데이터 한 번 읽기
변경을 수신 대기하지 않고 단순히 데이터의 스냅샷만 필요한 경우가 있습니다. 이후에 변경되지 않는 UI 요소를 초기화할 때가 그 예입니다. 이러한 경우 once()
메소드를 사용하면 시나리오가 단순해집니다. 이 메소드는 한 번 호출된 후 다시 호출되지 않습니다.
이 방법은 한 번 로드된 후 자주 변경되지 않거나 능동적으로 수신 대기할 필요가 없는 데이터에 유용합니다. 예를 들어 위 예시의 블로깅 앱에서는 사용자가 새 글을 작성하기 시작할 때 이 메소드로 사용자의 프로필을 로드합니다.
var userId = firebase.auth().currentUser.uid;
return firebase.database().ref('/users/' + userId).once('value').then(function(snapshot) {
var username = (snapshot.val() && snapshot.val().username) || 'Anonymous';
// ...
});
기본 쓰기 작업
기본 쓰기 작업의 경우 set()
를 사용하여 지정된 참조에 데이터를 저장하고 기존 경로의 모든 데이터를 대체할 수 있습니다. 예를 들어 소셜 블로깅 앱은 다음과 같이 set()
로 사용자를 추가할 수 있습니다.
function writeUserData(userId, name, email, imageUrl) {
firebase.database().ref('users/' + userId).set({
username: name,
email: email,
profile_picture : imageUrl
});
}
set()
를 사용하면 지정된 위치에서 하위 노드를 포함하여 모든 데이터를 덮어씁니다.
전체 API 문서 : https://firebase.google.com/docs/database/web/read-and-write
또한 데이터 삭제 방법도 간단합니다.
'API > Firebase 파이어베이스' 카테고리의 다른 글
NoSQL (0) | 2017.07.28 |
---|---|
채팅할 때 룰 (0) | 2017.07.21 |
Welcome to Codelabs! 다양한 예제를 따라할 수 있음 (0) | 2017.07.21 |
파이어베이스 사용법 1.호스팅 (Firebase hosting) (0) | 2017.07.20 |
- Total
- Today
- Yesterday
- Oracle
- 르프리크
- Tomcat
- 오라클
- 힘냉면록
- 위잇딜라이트
- 정규식
- Lalavel
- 성수밥
- jstree
- 토라식당
- 이클립스
- 아파치
- Eclipse
- 맥
- SQL
- 톰캣
- input
- 터미널
- 성수뚝떡
- tree로만들기
- floating button
- server.xml
- Apach
- 최고심
- node관리
- 메뉴관리
- Mac
- 조직도관리
- html
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |