Удалить позицию заказа на Firebase - PullRequest
0 голосов
/ 05 апреля 2020

У меня есть следующая структура в базе данных Firebase ...

База данных Firebase
Firebase Database

... и эти предметы перечислены на переработчике просмотр.

Как удалить элемент на основе выбора пользователя, если позиция в представлении переработчика не совпадает с позицией в базе данных? Я пробовал так много вещей, но ничего не работает.

Я знаю, что структура узла должна быть такой:

DatabaseReference databaseReference = FirebaseConfig
                                       .getFirebaseDatabase()
                                       .child("pedidos")
                                       .child("id")
                                       .child("itens")
                                       .child(<<user's choice>>);

Как это можно узнать? Может кто-нибудь помочь мне, пожалуйста?

Ответы [ 2 ]

0 голосов
/ 05 апреля 2020

Мне удалось решить эту проблему, добавив новый узел с именем index, чтобы получить последний индекс в моем списке массивов.

Теперь структура выглядит так:

DatabaseReference databaseReference = FirebaseConfig.getFirebaseDatabase().child("pedidos").child("id").child("itens").child(index);
0 голосов
/ 05 апреля 2020

Как я понял, вы хотите найти способ отличить guish элемент от других, чтобы иметь возможность удалить его, верно?

Ваши итенты должны иметь уникальные идентификаторы, поэтому вы сохраняете не массив итенов, а его карту в дБ. Это означает, что вы должны сначала присвоить идентификатор своему элементу при его создании и помещении в базу данных.

Что такое поле iten.id? Это уникально для ваших итенов в массиве ? Если это так, то измените структуру вашей базы данных следующим образом:

pedidos
---pedidoUid
------data
------id
------....
------itens
---------itenID
------------your iten data
------------more data...
---------itenID2
------------you got that

Таким образом, вы можете передать ее идентификатор методу, удаляющему itens.

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