- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在为我的 Spring-boot 项目使用 FireStore,并且我使这段代码工作正常。这样我就可以实时更新集合“values”中的值正在发生的变化。
Firestore firestore = FirestoreClient.getFirestore();
CollectionReference valuesCollectionRef = firestore.collection("Users").document("user_name").collection("sensors")
.document("sensorX").collection("Values");
valuesCollectionRef.addSnapshotListener(new EventListener<QuerySnapshot>() {
@Override
public void onEvent(QuerySnapshot snapshot, FirestoreException error) {
System.out.println(snapshot.getDocumentChanges()
.get(0).getDocument().get("value"));
}
});
我想要的是“Users”集合上的监听器当在数据库中的任何位置添加子项时触发该监听器,在“sensorX”或“sensorY”以及“Users”的不同文档中“ Collection 。
Java 中的 Firestore 可以实现这一点吗?
最佳答案
Firestore 中的监听器很浅薄。它们监听单个集合,或者(当使用集合组查询时)监听具有相同名称的多个集合(可能具有相同的数据结构)。不可能为集合及其所有子集合提供监听器。
但是,如果您想知道任何人的sensors
集合何时被修改,则 collection group query 是你想要的。
此示例(根据文档稍作修改)监听对任何用户的 sensors
集合(或数据库中其他位置名为 sensors
的任何集合)的任何写入:
db.collectionGroup("sensors").get()
.addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {
@Override
public void onSuccess(QuerySnapshot queryDocumentSnapshots) {
// ...
}
});
如果您想监听任何用户的任何传感器的任何值,您同样可以使用:
db.collectionGroup("Values").get()
.addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {
@Override
public void onSuccess(QuerySnapshot queryDocumentSnapshots) {
// ...
}
});
最后一个最重要的事情是,Values
是一个相当通用的集合名称,并且这将监听任何 Values
集合,无论如何它存在于数据库中的位置。当您使用集合组查询时,您通常会希望使用相当独特的集合名称,例如 SensorValues
。
关于java - Firebase,所有节点上的 .addSnapshotListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61902796/
当我使用 addSnapshotListener 进行实时更新时,文档会重复,但情况并非如此,但是当使用 getDocuments() 时,文档只重复一次,我需要使用 addSnaphotListen
我有使用 addSnapshotListener 检索文档大小的代码。 我只知道使用 addSnapshotListener 检索文档大小,但不知道任何其他方法。 firestore.collecti
自从我开始学习 Swift UI 以来,我经常看到 Firebase 对 addSnapshotListener 的调用,但我不明白使用它的目的。我知道它用于观察变化或类似的东西,但我不确切知道它是什
我正在为我的 Spring-boot 项目使用 FireStore,并且我使这段代码工作正常。这样我就可以实时更新集合“values”中的值正在发生的变化。 Firestore firestore =
我有以下功能; func observePosts() { let postReference = Firestore.firestore().collection("Posts").limi
对于 Firebase Cloud Firestore 的集合 addSnapshotListener: mFireStore = FirebaseFirestore.getInstance(); m
我添加了addSnapshotListener,例如: doc?.reference.collection("thread") .order(b
我在 Cloud firestore 中有一个文档,我通过它来监听更新。它有 2 个字段,它有一个字段描述和一个图片字段。图片大约 0.2 mb,描述只有几句话。我想知道如果我对文档中的描述进行更改会
在我的应用程序中,我想在从 Firestore 获取数据之前添加加载布局。 所以我尝试添加 Snapsnot 监听器,但效果不佳。 我想知道我该怎么做。 最佳答案 为了能够使用 addSnapshot
我想了解如何让 addSnapshotListener 接收更新,即使未显示 View Controller 。 假设我在 ViewController A 上调用 addSnapshotListen
我最近接手了一个项目,该项目是我前一段时间正在处理的更新依赖项,与此事件有关,我更新了 firestore 的依赖项 (com.google.firebase:firebase-firestore)
我已经使用 FirebaseUI-Android 库 实现了 RecyclerView。 一旦我使用 FirebaseRecyclerAdapter,我的 RecyclerView 实时数据就会发生变
我正在尝试从 Firebase Firestore 获取数据。我成功地获取了数据,但是,我将其显示在 UITableView 中,并且我需要它来实时获取数据。我正在使用 getDocuments 方法
我是一名优秀的程序员,十分优秀!