小编Sky*_*ker的帖子

如何在Firestore Firebase中跳过初始数据并仅触发新更新?

我到处搜寻都没有运气。我想查询Firestore以获取类型为admin的所有用户。就像是:

SELECT * FROM users WHERE type=admin
Run Code Online (Sandbox Code Playgroud)

在属性total更改时。如果我正在使用:

users.whereEqualTo("type", "admin").addSnapshotListener(new EventListener<QuerySnapshot>() {
    @Override
    public void onEvent(@Nullable QuerySnapshot snapshots, @Nullable FirebaseFirestoreException e) {
        for (DocumentChange dc : snapshots.getDocumentChanges()) {
            switch (dc.getType()) {
                case ADDED:
                    //Not trigger
                    break;
                case MODIFIED:
                    //Trigger
                    break;
                case REMOVED:
                    //
                    break;
            }
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

当我查询时第一次触发ADDED的情况,而当total更改case MODIFIED时又被触发(这是需要的)。我只需要更改,而不想要所有初始数据,我不需要它。如何获得?

请帮助我,这是我项目的最后一部分。如何跳过case ADDED呢?

java android firebase google-cloud-firestore

5
推荐指数
2
解决办法
1202
查看次数

集合组查询是否从所有同名集合中获取数据?

我有这个 Firebase Cloud Firestore 架构:

my_db -> users -> uid -> places -> placeId
Run Code Online (Sandbox Code Playgroud)

my_db -> places -> placeId
Run Code Online (Sandbox Code Playgroud)

此集合组查询是否会在两条路径中获得位置?如果是的话,我肯定会得到重复的。有什么办法可以避免这种情况吗?

编辑:我的目标是获取所有用户中的所有位置,而不是数据库中所有集合中的所有位置。

firebase google-cloud-firestore

3
推荐指数
1
解决办法
1740
查看次数

标签 统计

firebase ×2

google-cloud-firestore ×2

android ×1

java ×1