我正在尝试将 Future
的结果上传到 Firebase,但我似乎不知道如何实际将对象向上推。
我有以下方法,可以按预期工作,但是没有任何内容上传到 Firebase,也不会引发异常。
public void scanDirectory(String directory) {
final CompletableFuture<Set<Video>> completableFuture = videoService.findFiles();
completableFuture.thenAccept(results -> {
log.info("uploading {} files", results.size());
results.forEach(file -> databaseReference
.child("files")
.child(file.getName())
.setValueAsync(file));
});
}
我还需要做一些额外的事情吗?我正在此处处理文档:https://firebase.google.com/docs/database/android/read-and-write
我使用 com.google.firebase:firebase-admin:6.6.0
而不是在 Android 设备上执行此服务器端操作。
最佳答案
在搜索了更多 Google 文档后,我发现了一个不同的页面,其中包含一个可以正常工作的不同示例。诀窍是我需要从 DatabaseReference
创建一个 DocumentReference
,这在我阅读的第一个文档中没有提到。
正确的方法更像
public void scanDirectory(String directory) {
final CompletableFuture<Set<Video>> completableFuture = videoService.findFiles();
completableFuture.thenAccept(results -> {
log.info("uploading {} files", results.size());
results.forEach(result -> firestore.collection("videos").document().create(result));
});
}
使用以下文档:https://firebase.google.com/docs/firestore/quickstart
关于java - 未触发 Firebase 异步上传到 Cloud Firestore,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53787529/