удалить значение из базы данных Firebase - PullRequest
0 голосов
/ 02 сентября 2018

Я пытаюсь удалить узел из базы данных Firebase, но ничего не происходит.

Это мой код:

FileInputStream serviceAccount = new FileInputStream(keyPath);

FirebaseOptions options = new FirebaseOptions.Builder()
    .setCredentials(GoogleCredentials.fromStream(serviceAccount))
    .setDatabaseUrl(databaseUrl)
    .build();

FirebaseApp.initializeApp(options);

DatabaseReference ref = FirebaseDatabase.getInstance().getReference();
ref.child("Users").child(uid).child("name").removeValue()

Это вывод:

SLF4J: Не удалось загрузить класс "org.slf4j.impl.StaticLoggerBinder".
SLF4J: по умолчанию используется логгер без операций (NOP)
SLF4J: Подробнее см. http://www.slf4j.org/codes.html#StaticLoggerBinder подробности.

09-02-2018 17:43:53 - [START] - Начать действие: Заявление - serviceAccount = новый java.io.FileInputStream (keyPath) 09-02-2018 05:43:53 PM - [END] - Завершить действие: Statement - serviceAccount = new java.io.FileInputStream (keyPath) 09-02-2018 17:43:53 - [START] - Начать действие: Statement - options = new com.google.firebase.FirebaseOptions $ Builder (). SetCredentials (com.google.auth.oauth2.GoogleCredentials.fromStream (ServiceAccount)). setDatabaseUrl (DatabaseURL) .build () 09-02-2018 05:43:53 PM - [END] - Завершить действие: Statement - options = новый com.google.firebase.FirebaseOptions $ Builder (). SetCredentials (com.google.auth.oauth2.GoogleCredentials.fromStream (ServiceAccount)). setDatabaseUrl (DatabaseURL) .build () 09-02-2018 05:43:53 PM - [START] - Начать действие: Заявление - com.google.firebase.FirebaseApp.initializeApp (параметры) 09-02-2018
05:43:53 PM - [END] - Завершить действие: Заявление - com.google.firebase.FirebaseApp.initializeApp (параметры) 09-02-2018
05:43:53 PM - [START] - Начать действие: Заявление - ref = com.google.firebase.database.FirebaseDatabase.getInstance (). getReference ()
09-02-2018 05:43:53 PM - [END] - Завершить действие: Statement - ref = com.google.firebase.database.FirebaseDatabase.getInstance (). getReference ()
09-02-2018 05:43:53 PM - [START] - Начать действие: Заявление ref.child ("Пользователи"). child (uid) .child ("имя"). removeValue () 09-02-2018
05:43:53 PM - [END] - Завершить действие: Заявление - ref.child ("Пользователи"). child (uid) .child ("имя"). removeValue () 09-02-2018
05:43:53 PM - [PASSED] - Тестовые случаи / V2 / Общее / Черновик 09-02-2018
05:43:53 PM - [END] - Завершить тестовый набор: тестовые примеры / V2 / General / Draft

Как я уже сказал, в базе данных ничего не меняется.
Есть идеи?

1 Ответ

0 голосов
/ 05 сентября 2018

В конце концов я нашел этот репозиторий на github: https://github.com/bane73/firebase4j
В файле readme приведен простой пример записи значения в базу данных firebase путем предоставления только URL базы данных и данных, которые вы хотите записать.
Чтобы удалить значение, просто установите значение в null:

String url = 'https://project-name.firebaseio.com/users/user1/email'

//Initialize database
Firebase firebase = new Firebase(baseUrl);

//remove email of user1
Map<String, Object> dataMap = new LinkedHashMap<String, Object>();
dataMap.put("some str", null);
firebase.put(dataMap)
...