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