为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

扬帆大鱼 2021-11-11 16:59:08
我在 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数据库结构
查看完整描述

2 回答

?
收到一只叮咚

TA贡献1821条经验 获得超4个赞

如果你拿这段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。


查看完整回答
反对 回复 2021-11-11
?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

根据我阅读的内容和用户告诉我的内容,我能够使用以下代码解决我的问题,这完全符合我的要求。


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);

     });

});


查看完整回答
反对 回复 2021-11-11
  • 2 回答
  • 0 关注
  • 103 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信