我正在尝试使用Node.js创建一个RESTful API,它将用于Android应用程序。我在我的数据库中使用firebase。我正在按照教程tutorial来创建API。它使用猫鼬并具有单独定义的路线,模型和控制器。这似乎是一个非常好的关注点分离,并希望我的代码也遵循类似的东西。但是想知道如何在这种情况下创建我的模型。我能够从firebase读取数据。
//到目前为止我的代码
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的新手,我试图找到一些资源,但到目前为止还没有成功?还是有另一种方法吗?
答案 0 :(得分:1)
以下似乎为我做了诀窍。找不到任何其他类似的功能,如用于firebase的mongoose.model
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;
}
});