2017-09-18 11 views
1

에서 만든 JSON에서 데이터를 검색 할 수 없습니다 오전중포 기지 데이터 검색이 내 데이터베이스 구조 나는 중포 기지 데이터베이스

{ 
    "main" : { 
    "fake data1" : { 
     "abc" : "1001", 
     "high" : "100", 
     "low" : "150", 
     "mid" : "200", 
     "name" : "fake data1" 
    }, 
    "fake data2" : { 
     "abc" : "1023", 
     "high" : "1020", 
     "low" : "1020", 
     "mid" : "1501", 
     "name" : "fake data2" 
    }, 
    "fake data3" : { 
     "abc" : "1001", 
     "high" : "100", 
     "low" : "150", 
     "mid" : "200", 
     "name" : "fake data3" 
    }, 
    "fake data4" : { 
     "abc" : "1023", 
     "high" : "1020", 
     "low" : "1020", 
     "mid" : "1501", 
     "name" : "fake data4" 
    }, 
    "fake data5" : { 
     "abc" : "1001", 
     "high" : "100", 
     "low" : "150", 
     "mid" : "200", 
     "name" : "fake data5" 
    }, 
    "fake data6" : { 
     "abc" : "1023", 
     "high" : "1020", 
     "low" : "1020", 
     "mid" : "1501", 
     "name" : "fake data6" 
    } 
    } 
} 

나는 위의 모든 이름을 검색 할,하지만 난 수 없습니다입니다 그것을하기 위해.

나는 다음과 같은 쿼리를 시도하고있다 : 당신이 중포 기지 데이터베이스에 대해 쿼리를 실행할 때

var datafire = firebase.database().ref(); 
    var namedb = datafire.child('main') 
    var query = namedb.orderByChild('name') 
    query.on("value", function(datasnap) { 
         var data = (datasnap.val()); 
         console.log(data.name); 
+0

나는 당신이 당신의 쿼리에'가짜 data1','가짜 data2' 누락 생각 – 3stud1ant3

답변

1

가 잠재적으로 여러 결과가있을 것입니다. 따라서 스냅 샷에는 해당 결과 목록이 포함됩니다. 단일 결과 만있는 경우에도 스냅 샷에는 하나의 결과 목록이 포함됩니다.

코드는 이러한 항목을 통해 루프 Snapshot.forEach()를 사용하여 스냅 샷이 여러 항목이 포함되어 있다는 사실을 처리해야합니다

var datafire =firebase.database().ref(); 
var namedb = datafire.child('main') 
var query = namedb.orderByChild('name') 
query.on("value",function(datasnap){ 
    datasnap.forEach(function(child) { 
    var data=child.val(); 
    console.log(child.key, data.name); 
    }); 
}); 
관련 문제