如何从Firebase仅获取更新的数据?ASP.NET MVC数据同步场景
Firebase数据更新同步SQL Server(ASP.NET MVC实践)
我最近为了学习开发了一个小型ASP.NET MVC Web应用,同时在Firebase和SQL Server中存储数据。我的核心需求是:每当Firebase中的数据更新时,自动同步更新SQL Server里对应的记录,随后从SQL Server拉取数据展示到网页上。
下面是我实现Firebase数据更新后同步SQL Server(仅更新status字段)的关键代码:
firebase.database().ref("Table/").on('value', function (snapshot) { snapshot.forEach(function (child) { // 获取Firebase子节点的唯一标识和最新status值 const recordKey = child.key; const updatedStatus = child.val().status; // 调用ASP.NET MVC后端接口同步更新SQL Server fetch('/Record/UpdateStatus', { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-CSRF-TOKEN': document.querySelector('input[name="__RequestVerificationToken"]').value }, body: JSON.stringify({ id: recordKey, status: updatedStatus }) }) .then(response => response.json()) .then(result => { console.log(`ID为${recordKey}的记录状态已同步至SQL Server:`, result); // 同步完成后触发页面数据刷新 reloadPageData(); }) .catch(err => console.error('同步SQL Server失败:', err)); }); });
几点关键说明
- 用Firebase的
on('value')监听指定节点的实时数据变化,每次数据更新都会触发回调 - 通过
child.key获取Firebase记录的唯一标识,用来匹配SQL Server中对应的记录 - 前端通过
fetch调用后端控制器接口,传递更新后的status值,同时带上CSRF令牌防范跨站请求伪造 - 后端的
UpdateStatus接口需要接收参数,执行SQL Server的UPDATE语句完成status字段的更新
内容的提问来源于stack exchange,提问作者Techno Crave
相关产品推荐
相关产品推荐

