【发布时间】:2017-11-30 13:27:36
【问题描述】:
我正在使用此代码不断更新我的 firebase 数据库:
var admin = require("firebase-admin");
// Fetch the service account key JSON file contents
var serviceAccount = require("service.json");
// Initialize the app with a service account, granting admin privileges
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "DATABASE_URL"
});
var db = admin.database();
var ref = db.ref("games");
var fs = require('fs');
var filePath = 'games/2017-06-27.json';
var file = fs.readFileSync(filePath);
fs.watchFile(filePath, function() {
var request = require('request');
var usersRef = ref.child('2017-06-27');
request('http://URL/games/2017-06-27.json', function (error, response, body) {
if (!error && response.statusCode == 200) {
var asJson = JSON.parse(body)
usersRef.update(asJson)
}
})
});
所以我得到了一个包含实时体育数据得分、比赛状态等的 json(使用其他服务)。然后,我使用节点检查存储数据的文件的更改并写入 firebase 数据库。它工作正常,但我不想更换数据库。我只想更新更改的字段,因为我有其他服务向我想要保留的数据库中的这个孩子添加额外的数据。如何在不替换所有数据库的情况下仅更新具有更改的字段,从而保留不是来自此请求的其他额外数据?
【问题讨论】:
标签: json node.js firebase-realtime-database