2016-07-11 15 views
0

That's my Firebase Structure중포 기지 검색어 키워드

내 코드

FirebaseDatabase database = FirebaseDatabase.getInstance(); 
DatabaseReference myRef = database.getReference("stock"); 
Query i = myRef.orderByChild("keywords").equalTo("Hammer"); 
i.addValueEventListener(new ValueEventListener(){ 
    @Override 
    public void onDataChange(DataSnapshot dataSnapshot) { 
     System.out.println(dataSnapshot.getValue());  
    } 

    @Override 
    public void onCancelled(DatabaseError databaseError) { 

    } 
}); 

내 문제의 배열 : 나는 쿼리 키워드 예와 하나의 항목 만 싶어. "망치",하지만 난 단지 값으로 null을 받고. "orderByChild ("keyword ").와 같은 쿼리. equalTo ("Hammer ")"동일한 null 값을 얻고 있습니다. 도와주세요.

+1

여기에 질문을 올리려면이 가이드를 읽으십시오. http://stackoverflow.com/help/how-to-ask –

+0

코드를 텍스트로 추가하십시오. 'myRef'가 참조하는 것을 포함합니다. – adolfosrs

+0

@adolfosrs 데이터베이스에 "재고"노드가 없습니다 –

답변

1

orderByChild/stocks에서 참조하는 지점의 차기 레벨 하위 만 조사합니다. 귀하의 코드는 자녀가 keywords/0/keyword 인 경우에만 작동합니다 (/stocks). 그것의 아래에서 /stocks/inserate/0 그것은 일하지 않을 것이다.

Query i = myRef.child("inserate/0/keywords").orderByChild("keyword").equalTo("Hammer"); 

이것은 트릭을 수행하지만 정확히 원하는 것은 아닙니다. iserates 자식을 모두 검색하려면 데이터베이스로 리팩토링해야합니다.