[Node.js] - FireBase
FireBase 簡介
FireBase 是一套 Web 的應用程式開發平台,目前他可支援手機APP與 Web 許多服務,目前只用到「資料庫」、「認證」功能,其他到時候使用到再繼續補上.
安裝 firebase 相關模組
安裝 firebase
1 | npm install firebase --save |
firebase 使用方法
進到 firebase 網站登入帳號後,先建立一個新的 firebase 專案
建立完後進到專案控制台,接著點選左側「Database」並點選建立「資料庫」且以「測試模式」啟動
這樣資料庫就建立完成,接著點選左上角「齒輪」裡的專案設定
到最下方會看到「您的專案沒有任何應用程式」的提示,點選 </>
,將「新增Firebase SDk 」的內容複製到自己開發的 Node.js 專案裡.
貼到相對應的 js 裡與 node.js
1 | <script src="https://www.gstatic.com/firebasejs/6.6.0/firebase-app.js"></script> |
Node.js
1 | var firebase = require('firebase'); |
入門語法:
語法:
1 | firebase.database().ref().set() |
讀取一次資料庫的資料:
.once()
1
2
3
4
5
6
7
8
9
10
11
12var path = firebase.database().ref('XXX/XXX/XX...');
path.once('value',function(snapshot){
snapshot.val(); //.val()轉換obj或json可讀取的資料
}
```
### 即時監聽:
* `..on()`
- 語法與 .once() 相同
### 設定值 - `set` 方法:
```javascript=
firebase.database().ref().set(people);//people為設定的資料
- 後面搭配
.then()
,意思是若有 set 值完那就執行接下來的事1
2
3firebase.database().ref().set(people).then(function(){
XXX..... //執行接下來的事
});
設定值 -push
方法:
- 會自動產生一組 key
1 | var todos = firebase.database().ref('todos'); |
結果:
刪除
- remove()
- 搭配 child():子路徑
1 | var todos = firebase.database().ref().child('todos'); |
其中「要開會2」就會被刪除
排序
1 | orderByChild('欄位名稱') |
- 以
age
來排序:1
2
3
4
5
6var peoplePath = firebase.database().ref('people');
peoplePath.orderByChild('age').once('value',function(snapshot){
snapshot.forEach(function(item){
console.log(item.val());
})
})
取得區間
1 | startAt():以上 |
- 以 startAt() 為例:取得年齡大於23歲:
1
2
3
4
5
6var peoplePath = firebase.database().ref('people');
peoplePath.orderByChild('age').startAt(23).once('value',function(snapshot){
snapshot.forEach(function(item){
console.log(item.val());
})
})
結果:
- 限制筆數:
- limitToFirst(數量):限制前X筆
- limitToLast(數量):限制倒數X筆
- 查詢大於23歲的第一筆資料:
1
2
3
4
5
6var peoplePath = firebase.database().ref('people');
peoplePath.orderByChild('age').startAt(23).limitToFirst(1).once('value',function(snapshot){
snapshot.forEach(function(item){
console.log(item.val());
})
})
結果: