猿问

如何从云函数中的 Firebase 数据库中检索多个值?

我在 Java 中有以下功能,它解决了我的问题,但是我也想玩 javascript。所以我遇到了以下问题:我只找到了检索唯一值的函数,我想要一个类似于dataSnapshot.getChildren()Java 中只有 JavaScript的函数,如果没有,还有什么替代方法?


为了更好地理解,我将在这里留下完美运行的 Java 代码。


mRef.addListenerForSingleValueEvent(new ValueEventListener() {

                    @Override

                    public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

                        for (DataSnapshot ds : dataSnapshot.getChildren()) {

                            float okk = Float.valueOf(ds.child("value").getValue(String.class))/100000000;

                            prov += ds.child("wallet").getValue(String.class)+", "+String.format(Locale.US,"%.8f", okk)+"\n";

                            ds.getRef().removeValue();

                        }

                        tx_array.setText(prov);

                    }

                    @Override

                    public void onCancelled(@NonNull DatabaseError databaseError) {


                    }

                });

输出必须看起来像这样,在 java 中也是如此。


39Hs93m61zYCaiaNe8yzgrDcutVAz2Kgdc,0.00151515 3QMTHAaYcQB8kJxF5nxxBwskyCFukCNH8t,0.00151515 3AcNSeB9DX3ZKvGxMaec9uZ98rY2BJKuzW,0.00153787 36SjF1MBm2DE6YimNYiy9T4ez6Z7UA4rpg,0.001540903 AHr3GF12div1Kgf6DegeiHSGQYssvbmih,0.00162121 19vR7xchAg1vUgGwATwBsz5NYrVWYKdSQ3,0.00164545 3KmfDgW9RdWp7P2ns3tydXsiChR5U9XKdT,0.00165757 1C8rxppQk8mRSWB8xPKZ5DsYVykJBLNhV3,0.00166212


数据库结构

扬帆大鱼
浏览 104回答 2
2回答

收到一只叮咚

如果你拿这段Java代码:mRef.addListenerForSingleValueEvent(new ValueEventListener() {    @Override    public void onDataChange(@NonNull DataSnapshot dataSnapshot) {        for (DataSnapshot ds : dataSnapshot.getChildren()) {            float okk = Float.valueOf(ds.child("value").getValue(String.class))/100000000;            prov += ds.child("wallet").getValue(String.class)+", "+String.format(Locale.US,"%.8f", okk)+"\n";            ds.getRef().removeValue();JavaScript 中的等效项是:ref.once("value").then(function(snapshot) {    snapshot.forEach(function(ds) {        var okk = ds.child("value").val() / 100000000;        prov += ds.child("wallet").val()+ ", "...        ds.ref.remove();    });});如果您经常遇到此类问题,我强烈建议您同时阅读Android 文档和Web 文档。它们都遵循完全相同的结构,因此一旦您知道如何在 Android 中执行某些操作,您就可以轻松地将其映射到 JavaScript。

一只甜甜圈

根据我阅读的内容和用户告诉我的内容,我能够使用以下代码解决我的问题,这完全符合我的要求。exports.showEvent = functions.https.onRequest((req, res) => {    let prov = "";    return admin.database().ref('requests').once('value', (snapshot) => {      snapshot.forEach(function(ds) {          var okk = ds.child("value").val() / 100000000;          prov += ds.child("wallet").val()+ ", " + parseFloat(okk).toFixed(8) + "\n";        ds.ref.remove();      });        res.send(prov);     });});
随时随地看视频慕课网APP

相关分类

Java
我要回答