Как я могу изменить данные с помощью пользовательского ключа в Firebase? - PullRequest
0 голосов
/ 07 января 2019

У меня есть приложение, которое пишет в firebase, и я хочу, чтобы другое мое приложение с правами администратора считывало и редактировало данные, присутствующие в пользовательском ключе. *.*

Если это изображение, предположите, где случайный ключ - это мой ключ, и я хочу отредактировать данные или добавить новые данные с существующими данными в этом конкретном пользовательском ключе. Любая помощь будет оценена

Ответы [ 2 ]

0 голосов
/ 07 января 2019

Если эти ключи генерируются автоматически, и вы не можете их получить, не имеет значения, какие у вас права доступа, вы не можете их получить.

Однако, если у вас есть ключ или вы получаете его из функции, и вы хотите изменить значения в определенном узле или просто прочитать их, вы можете просто запросить базу данных для этого ключа и изменить его после защиты примерно как это:

FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference mRef = database.getReference().child("YOUR KEY");

и затем вы можете получить доступ к чтению и редактированию значений в узле

mRef.child("message") //Do Whatever you want

PS: просто убедитесь, что вы проверяете, выходит ли dataSnapshot!

EDIT:

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

0 голосов
/ 07 января 2019

Не уверен на 100%, что вы спрашиваете, но если вы хотите, чтобы все дети, сделали:

DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child("yourTable");
ref.addListenerForSingleValueEvent(
    new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            // All your data is in dataSnapshot
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {
        }
    }
);

Если вы хотите установить значение конкретного ребенка с помощью клавиши, выполните:

DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child("yourTable");
ref.child("mySpecificChildId").child("message").setValue("new value");

Если это не помогло, пожалуйста, добавьте более конкретный вопрос!

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