节点RESTful API模型与firebase

时间:2017-05-05 11:18:06

标签: node.js rest api firebase mongoose

我正在尝试使用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的新手,我试图找到一些资源,但到目前为止还没有成功?还是有另一种方法吗?

1 个答案:

答案 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;
  }
});