如何在集合中更改时知道在firestore中?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在集合中更改时知道在firestore中?相关的知识,希望对你有一定的参考价值。

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

我试图创建一个firebase function来修改一个名为version的字段,这种方式应用程序vs firebase版本的集合中的campare版本,但我真的不知道如何使用firebase函数。

有人可以推荐吗?

答案

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

以上是关于如何在集合中更改时知道在firestore中?的主要内容,如果未能解决你的问题,请参考以下文章

Firestore,检测添加到集合中的新文档等

在 Cloud Firestore 中更新集合名称

检测客户端代码中 Firestore db 节点的更改

在 Firestore 的集合中删除所有文档时返回所有文档

如何将两个集合添加到 Firestore 中的集合 android studio

在 Flutter 中监听 Firestore 集合及其子集合