如何从Firebase中按每个元素访问每个元素

时间:2018-12-04 21:02:33

标签: javascript arrays firebase firebase-realtime-database

我得到了不包含特定单词的用户ID。我需要为每个用户ID选择一个以更新用户状态。

var primeusers = [];
var komence= firebase.database().ref();

function thisclick() {


    komence.child('Buyers').on("value", function(snapshot) {
    snapshot.forEach(function(data) {


       if(!data.val().Nealdi.includes("GPA")) {

    console.log(data.key);
    primeusers = data.key;
}


    });
});


}

通过使用此代码,我得到了用户ID。控制台日志:

7SlLam2k0P1grrdggw3JFAaSNyt1 
677nl6n0D6563jPfbWGn2dJfI0X2 
We67878jtdaJ0dkkHLSThXODwOA3 
fpZzOcbeawg3VcWQnOZ6PlWhxmP2 
zwJgnxsamkSsz720jDHrtZsdsaR2 

当我尝试选择第二个对象时,我使用console.log(primeusers[1]);,但是我得到了每个值的第二个字符。

控制台输出:

S
7
e
p
W

但这不是我所需要的。如何获得第二行的全部内容?

2 个答案:

答案 0 :(得分:2)

您似乎希望sort是一个数组,现在它是一个字符串-这就是为什么在进行O(n)时会得到第二个字符。

def largest_val_arrangement(val):
    d = dict()
    for k,v in val:
        if k not in d or len(d[k]) < len(v):
            d[k] = v

    return tuple(d.items())

将primeusers变成一个数组。

import json
import boto3
from io import BytesIO
import gzip

try:
     s3 = boto3.resource('s3')
     key='YOUR_FILE_NAME.gz'
     obj = s3.Object('YOUR_BUCKET_NAME',key)
     n = obj.get()['Body'].read()
     gzipfile = BytesIO(n)
     gzipfile = gzip.GzipFile(fileobj=gzipfile)
     content = gzipfile.read()
     print(content)
except Exception as e:
    print(e)
    raise e

将其ID添加到primeusers数组中。

包含这些更改的脚本:

primeusers

答案 1 :(得分:1)

您需要声明一个数组primeusers=[],然后使用primeusers.push(data.key)将值压入该数组。

var primeusers=[];
var komence= firebase.database().ref();

function thisclick(){    
 komence.child('Buyers').on("value",function(snapshot){
  snapshot.forEach(function(data){
   if(!data.val().Nealdi.includes("GPA")){
    console.log(data.key);
    primeusers.push(data.key);
   }
  });
 });
}