我正在创建一个API,它可以从实时数据库(Firebase)中更新值。使用ClaudiaJS创建API。基本上,API会按年更新一班的学生人数。
我所做的:
实时数据库(Firebase)
class
|__2015
| |__numberOfStudent: 50
|__2016
|__numberOfStudent: 60 像这样导出到JSON:
{
"class": {
"2015": {
"numberOfStudent": 50
},
"2016": {
"numberOfStudent": 60
}
}
}Javascript文件(ClaudiaJS):
var ApiBuilder = require('claudia-api-builder');
api = new ApiBuilder();
module.exports = api;
var admin = require("firebase-admin");
var serviceAccount = require("./xxxxxxx-firebase-adminsdk-nxxxxx.json");
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "https://xxxxxx.firebaseio.com"
});
api.post('/addmore/{year}/{number}', function (request) {
var database = admin.database().ref('class');
//Params
var year = request.pathParams.year;
var number = request.pathParams.number;
var ref = year + '/numberOfStudent'; // '2015/numberOfStudent'
database.update({
ref : parseInt(number) // "2015/numberOfStudent" : 60
});
return 'Update successfully';
});当我在Postman中运行api时:
http://xxxxapi.com/addmore/2015/55
发生了什么: API回答了“成功更新”,但是数据库没有得到任何更新。看起来,代码database.update()根本不起作用。
任何建议都是非常感谢的
发布于 2017-10-24 19:53:24
https://stackoverflow.com/questions/46918000
复制相似问题