如何将 Firebase Snap.val() 存储在变量中以在其他地方使用


如何使用

JavaScript存储Firebase数据库中的数据。我想使用 once 方法,这样它就不会经常查找任何更改。例如像这样:

database.child('readOnly/something').once('value').then((snap) => {
        const groupObj = [
            snap.val()
        ]
    });
    app.get('/something',(req,res)=>{
            res.render('something',{
                "groupList": groupObj
            });
        });
            // Individual Life Groups
            app.get('/something/:name',(req,res)=>{
                const group = req.path.split("/").pop();
                console.log(groupObj.length)
                for (i = 0; i < groupObj.length; i+=1) { 
                    if(groupObj[i].url   == group){
                        var desiredGroup = groupObj[i];
                        console.log(desiredGroup);
                        break;
                    }
                }
                res.render('group', desiredGroup);
                // To-Do: Add Data and Bindings
            });

我正在使用最新版本的expressjs,firebase,nodejs和npm。

您可以将

groupObj变量放在"全局"区域中,以便所有回调都可以使用它。

const groupObj = [];
database.child('readOnly/something').once('value').then((snap) => {
  groupObj.push(snap.val());
});
app.get('/something',(req,res)=>{
    res.render('something',{
        "groupList": groupObj
    });
});
// Individual Life Groups
app.get('/something/:name',(req,res)=>{
    const group = req.path.split("/").pop();
    console.log(groupObj.length)
    for (i = 0; i < groupObj.length; i+=1) { 
        if(groupObj[i].url   == group){
            var desiredGroup = groupObj[i];
            console.log(desiredGroup);
            break;
        }
    }
    res.render('group', desiredGroup);
    // To-Do: Add Data and Bindings
});

最新更新