2017-12-21 11 views
0

나는 레스토랑 메뉴 항목을 포함하는 컬렉션을 가지고 있는데,이 항목을 앱에 알리고이 변경 사항을 다운로드하려는 경우 새 항목이 추가되거나 변경된 점 (가격, 이름, 설명)을 알고 싶습니다. 내부 데이터베이스.컬렉션에 변경 사항이있을 때 Firestore에서 알 수있는 방법은 무엇입니까?

나는 버전이라는 필드를 수정하기 위해 firebase function을 만들려고했는데, 앱의 firebase 버전과 비교하여 firebase 버전의 앱에서이 캠프 어 버전을 사용했지만 firebase 기능을 사용하는 방법을 모릅니다.

누군가가 추천받을 수 있습니까?

+0

[DataSnapshot] (https://firebase.google.com/docs/reference/android/com/google/firebase/database/DataSnapshot)을 찾고있는 것 같습니다 –

답변

2

Cloud Firestore은 유연한 확장 가능한 데이터베이스로 realtime listeners을 통해 클라이언트 응용 프로그램간에 데이터를 동기화하고 모바일 및 웹 응용 프로그램에 대해 offline support을 제공합니다.

그래서 데이터베이스에서 변경된 사항이 있는지 알아 보려면 특정 위치에 수신기를 부착해야합니다. 컬렉션이 cities이고 문서가 SF이라면 다음 코드를 사용하십시오. 그것은 바로 앞으로의 예입니다.

DocumentReference docRef = db.collection("cities").document("SF"); 
docRef.addSnapshotListener(new EventListener<DocumentSnapshot>() { 
    @Override 
    public void onEvent(@Nullable DocumentSnapshot snapshot, @Nullable FirebaseFirestoreException e) { 
     // see which fields changed 
    } 
}); 

Firebase Realtime 데이터베이스와 달리 Cloud Firestore는 기본적으로 데이터 지속성을 사용합니다. 따라서 데이터를 내부 데이터베이스에도 보관할 필요가 없습니다.

+0

Alex에게 많은 감사를드립니다. 내 앱에서 오프라인 모드를 처리하는 방법에 대한 새로운 아이디어. 왜냐하면 나는 새로운 것이있을 때만 변화를 가져 오기를 원하기 때문입니다. –

+0

안녕하세요. @cesarsmith –