Как проверить, существует ли значение в коллекции Firebase? - PullRequest
0 голосов
/ 09 марта 2019

У меня есть коллекция users/id/favorites, и я хочу проверить, существует ли уже значение в коллекции. Ключи автоматически генерируются FireBase, когда данные отправляются в базу данных. Как я могу это сделать?

enter image description here

Вот как я передаю данные в БД:

addToFavorites({ state }, payload) { 
firebase
    .database()
    .ref('users')
    .child(state.user.user.uid + '/favorites')
    .push(payload);
}

Я хотел бы сделать что-то вроде:

addToFavorites({ state }, payload) {
firebase
    .database()
    .ref('users/' + state.user.user.uid + '/favorites')
    .once('value', snapshot => {
        if (snapshot.magicFindKeyFunction(payload)) {
            firebase
                .database()
                .ref('users')
                .child(state.user.user.uid + '/favorites')
                .push(payload);
        }
    });
}

1 Ответ

0 голосов
/ 09 марта 2019

Попробуйте следующее:

addToFavorites({ state }, payload) {
firebase
.database()
.ref('users/' + state.user.user.uid + '/favorites')
.once('value', snapshot => {
    if (snapshot.exists()) {
        firebase
            .database()
            .ref('users')
            .child(state.user.user.uid + '/favorites')
            .push(payload);
    }
});

exists():

Возвращает true, если этот DataSnapshot содержит какие-либо данные.

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