java - 如何在 firestore 中知道集合何时发生更改?

标签 java android firebase google-cloud-firestore

我有一个包含餐厅菜单项目的集合,我想知道何时添加新项目或进行更改(价格、名称、描述),因为我想将此通知给应用程序并下载此更改在内部数据库中。

我试图创建一个 firebase function修改一个名为 version 的字段,这样应用程序中的 Campare 版本与集合的 firebase 版本相对应,但我真的不知道如何使用 firebase 函数。

有人可以推荐一下吗?

最佳答案

Cloud Firestore 是一个灵活、可扩展的数据库,它通过实时监听器使您的数据在客户端应用程序之间保持同步,并提供 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 默认启用数据持久性。因此,无需将数据保存在内部数据库中。

关于java - 如何在 firestore 中知道集合何时发生更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47928675/

相关文章:

Java,函数不识别return语句

android - Intellij(Android Studio)git集成: Where is . git?

android - 如何通过 REST api 使用 SMS for Firebase 执行 2FA?

java - 获取和跳过字符串组?

java - 生成特定的随机字符串数组

java.io.FileNotFoundException : No content provider: 错误

java - 有没有一种方法可以在 EditText 中连接不同的 Activity TextView?

android - 当应用程序处于后台时,Firebase 推送通知不播放声音

javascript - 在哪里可以找到 firebase 身份验证 API 的所有错误代码和消息的列表

android - Firebase 数据库错误仅在应用程序发布到谷歌播放后 - android