FireStore 최소(CRUD)
하고 싶은 일
전제
절차
작업할 장소 만들기
midir fire_test
cd fire_test
npm init -f
npm install --save firebase-admin
touch index.js
템플릿 파일 만들기
index.js
const admin = require('firebase-admin');
var serviceAccount = require("./firebase-key.json"); //このファイルを管理画面から落としてくる
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "https://{project}.firebaseio.com"
});
var db = admin.firestore();
key(비밀키 파일)의 입수
관리 화면(왼쪽 창의 톱니바퀴 클릭) -> 사용자 및 권한 -> 서비스 계정
동작 확인
값 추가(Create)
상기 템플릿에 추가를 위한 코드를 1행 추가.
index.js
const admin = require('firebase-admin');
var serviceAccount = require("./firebase-key.json");
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "https://expo-test1.firebaseio.com"
});
var db = admin.firestore();
//値を追加
var docRef = db.collection('users').doc('0001').set({name:'hoge',age:33});
실행 후 관리 화면에서 아래와 같이 데이터 추가를 확인할 수 있으면 OK.
기본 동작(CRUD)
Create(Insert)
이미 했지만 collection과 doc을 지정한 다음 set()을 사용합니다.
db.collection('users').doc('0001').set({name:'hoge',age:33});
덧붙여서 같은 doc명으로 set()를 실행하면(자), 완전하게 덧쓰기되므로 주의가 필요합니다.
db.collection('users').doc('0001').set({address:'tokyo',tel:'03-1111-2222'});
문서에 요소(필드)를 추가하려면 Update를 사용합니다.
존재하지 않는 필드의 경우 추가되고 기존 필드는 업데이트됩니다.
db.collection('users').doc('0001').update({address:'tokyo',tel:'03-1111-2222'});
READ(Select)
리드는 아래와 같이 합니다.
db.collection('users').get()
.then((snapshot)=>{
snapshot.forEach((doc)=>{
console.log(doc.id + "-" + JSON.stringify(doc.data()));
})
})
.catch(e => console.log(e));
doc.data()의 내용이 전개되도록 JSON.stringify()하고 있습니다.
업데이트
update는 아래와 같은 느낌. 기존 필드라면 갱신, 없는 필드라면 추가됩니다.
db.collection('users').doc('0001').update({ age: 44 });
Delete
삭제는 delete()를 실행할 뿐.
db.collection('users').doc('0001').delete();
덧붙여 필드를 삭제하고 싶은 경우는, 아래와 같이 합니다.
let fieldValue = admin.firestore.FieldValue;
db.collection('users').doc('0001').update({age:fieldValue.delete()});
null로 update해도 null가 들어간 상태가 되어, 필드는 삭제되지 않습니다.
쓰기
또한 위와 같이 collection과 doc를 매번하지 않아도,
let docRef = db.collection('users').doc('0001');
와 같이 참조를 정의하고 참조에 대해 set,update,delete를 수행할 수 있습니다.
docRef.set();
docRef.update()
docRef.delete()
필요에 따라 추가합니다.
참고
Reference
이 문제에 관하여(FireStore 최소(CRUD)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/zaburo/items/a8064d81da69e95a8646텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)