Javascript 如何在云函数中从Firebase数据库检索多个值?
我在Java中使用了以下函数,它解决了我的问题,但是我也想使用javascript。所以我遇到了以下问题:我只找到了检索唯一值的函数,我想要一个类似于Javascript 如何在云函数中从Firebase数据库检索多个值?,javascript,java,firebase,google-cloud-firestore,Javascript,Java,Firebase,Google Cloud Firestore,我在Java中使用了以下函数,它解决了我的问题,但是我也想使用javascript。所以我遇到了以下问题:我只找到了检索唯一值的函数,我想要一个类似于dataSnapshot.getChildren()的函数,它在Java中只有JavaScript的函数,如果没有,还有什么替代方案 为了更好地理解,我将把Java代码放在这里,它可以完美地工作 mRef.addListenerForSingleValueEvent(new ValueEventListener() {
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中也是如此
39HS93M61Zycaane8YZGRDCUTVAZ2KGDC,0.00151515
3QMTHAAYCQB8KJXF5NXBWSKYCFUKCNH8T,0.00151515
3AcNSeB9DX3ZKvGxMaec9uZ98rY2BJKuzW,0.00153787
36SJF1MBM2DE6YIMNY9T4EZ6Z7UA4RPG,0.001540903
AHr3GF12div1Kgf6DegeiHSGQYssvbmih,0.00162121
19VR7XCHAG1VUGGWBSZ5NYRVWYKDSQ3,0.00164545
3KmfDgW9RdWp7P2ns3tydXsiChR5U9XKdT,0.00165757
1C8RXPPQK8MRSWB8XPZ5DSYVYKJBLNHV3,0.00166212
数据库结构
如果您使用这段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中执行某些操作,就可以轻松地将其映射到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();
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中执行某些操作,您就可以轻松地将其映射到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);
});
});
根据我读到的内容和用户告诉我的,我能够用下面的代码解决我的问题,这完全符合我的要求
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);
});
});
你能添加数据库结构(截图)吗?As无法从java代码中解决您需要的问题。当然,请在帖子中查看我的更新。谢谢我已经找到了解决办法DCU是否可以添加数据库结构(屏幕截图)?As无法从java代码中解决您需要的问题。当然,请在帖子中查看我的更新。谢谢我已经找到了解决办法这对我帮助很大,它几乎起作用了,但我不得不对工作做一些修改。但我要离开这里,谢谢你!这对我帮助很大,它几乎起了作用,但我不得不对工作进行一些修改。但我要离开这里,谢谢你!