Асинхронная загрузка Firebase в Cloud Firestore не запущена - PullRequest
0 голосов
/ 15 декабря 2018

Я пытаюсь загрузить результаты 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.

1 Ответ

0 голосов
/ 15 декабря 2018

После изучения большей части документации Googles я нашел другую страницу с другим примером, который работает правильно.Хитрость в том, что мне нужно было создать DocumentReference из DatabaseReference, который не упоминался в первой документации, которую я читал.

Правильный метод больше похож на

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...