HH原创Firebase 相关操作及代码示例

Posted 夜雨流星℡?

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HH原创Firebase 相关操作及代码示例相关的知识,希望对你有一定的参考价值。

今天需要对 Firebase 增加删除功能,代码精简如下:

 1 var admin = require(‘firebase-admin‘);
 2 var config = require(‘./config.json‘);
 3 
 4 var defaultAppConfig = {
 5     credential: admin.credential.cert(config.firebase.cert),
 6     databaseURL: config.firebase.databaseURL
 7 };
 8 
 9 
10 var defaultAppName = ‘GoPeople-NodeJS-Admin‘;
11 var defaultApp = admin.initializeApp(defaultAppConfig, defaultAppName);
12 
13 var signaturesRef = defaultApp.database().ref(‘signatures‘);
14 
15     signaturesRef.orderByChild("isChecked").equalTo(true).limitToLast(10).once("value")
16         .then(function(snapshot) {
17 
18             snapshot.forEach(function(childSnapshot) {
19                 var key = childSnapshot.key;
20                 var childData = childSnapshot.val();
21 
22                 var now = new Date();
23                 var date = new Date(childData.date);
24                 var dayDiff = parseInt((now - date) / (1000 * 60 * 60 * 24)); // day diff
25 
26                 if(dayDiff >30){
27                     signaturesRef.child(key).remove(function(error) {
28                         console.log(key);
29                         console.log(dayDiff);
30                         console.log(error ? ("Uh oh! " + error) : "Success!");
31                     });
32                 }else{
33                     console.log(key);
34                     console.log(dayDiff);
35                 }
36             });
37 
38         });

 

Firebase 修改节点:

function finishJobSync(jobGuid) {
    var signaturesRef = defaultApp.database().ref(‘signatures‘).child(jobGuid);
    signaturesRef.update({isChecked: true},function(error) {
        if (error) {
            logger.error(error);
        } else {
            logger.info(‘Job ‘ + jobGuid + ‘ signature has been synced.‘);
        }
    });
}

 

Firebase 监听:

var signaturesRef = defaultApp.database().ref(‘signatures‘);

signaturesRef.orderByChild("isChecked").equalTo(false).on("child_added", function(snapshot, prevChildKey) {
    // TODO: 
});

 

以上是关于HH原创Firebase 相关操作及代码示例的主要内容,如果未能解决你的问题,请参考以下文章

博客首页全新改版;博客代码片支持折叠;原创博文新增打赏功能……2022.1.17

第二周:一个简单的时间片轮转多道程序内核代码及分析

嵌入式开发裸机引导操作系统和ARM 内存操作 ( DRAM SRAM 类型 简介 | Logical Bank | 内存地址空间介绍 | 内存芯片连接方式 | 内存初始化 | 汇编代码示例 )(代码片

Linux内核分析—完成一个简单的时间片轮转多道程序内核代码

Java线程调度及相关函数

Java线程调度及相关函数