2017-05-05 69 views
0

我正在嘗試使用Node.js創建一個RESTful API,以便爲android應用程序提供服務。我正在爲我的數據庫使用Firebase。我正在按照教程tutorial創建API。它使用貓鼬,並具有單獨定義的路線,模型和控制器。這看起來像是一個非常好的問題分離,並且希望遵循類似的代碼。但想知道如何在這種情況下創建我的模型。我可以從Firebase讀取數據。node使用firebase的RESTful API模型

//到目前爲止我的代碼

var admin = require('firebase-admin'); 

var serviceAccount = require('../../<firebase.json>'); 

admin.initializeApp({ 
    credential: admin.credential.cert(serviceAccount), 
    databaseURL: "<path_to_firebase_db", 

}); 

var db = admin.database(); 
var ref = db.ref(); 
var item = ref.child('Item'); 


item.orderByChild("price").on("child_added", function(snapshot) { 
    console.log(snapshot.key + " was " + snapshot.val().price + "$"); 
}); 

//我作爲參考以下鏈接中給出:

'use strict'; 

var mongoose = require('mongoose'); 

var Schema = mongoose.Schema; 


var TaskSchema = new Schema({ 
    name: { 
    type: String, 
    Required: 'Kindly enter the name of the task' 
    }, 
    Created_date: { 
    type: Date, 
    default: Date.now 
    }, 
    status: { 
    type: [{ 
     type: String, 
     enum: ['pending', 'ongoing', 'completed'] 
    }], 
    default: ['pending'] 
    } 
}); 


module.exports = mongoose.model('Tasks', TaskSchema); 

我想創建一個類似於這種模式,我怎樣才能做到這一點?我對node和firebase是新手,我試圖找出一些資源,但目前尚未成功。還是有另一種方法?

回答

1

以下似乎爲我目前做的伎倆。找不到類似mongoose.model的任何其他類似功能,用於Firebase

var item = ref.child('Item'); 

item.on('value', function(snapshot){ 
    console.log(snapshot.key); 

    exports.getItems = function() { 
    //get the required value and export it so as to be accessed from client 
    var o = {}; 
    var key = snapshot.key; 
    o[key] = []; 
    o[key].push(snapshot.val()); 

    return o; 
    } 
});