Firebase фильтрация данных в реальном времени - PullRequest
0 голосов
/ 07 апреля 2020

так что у меня есть Structure

Итак, я создаю приложение для знакомств, и теперь я подошел к моменту, когда мне нужно создать список людей, с которыми нужно сопоставить user.

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

Я пытался отфильтровать данные по Пол. Как мне отредактировать этот запрос, чтобы проверить, совпадают ли они уже? Совпадения отображаются в users / {userID} / совпадений / {matchedUserID}

Это то, что я пробовал:

async createUserListAndNavigate() {
    let genderTolook = 'female';

    let data = firebase
      .database()
      .ref('users/')
      .orderByChild('gender')
      .equalTo(genderTolook);
    data.once('value', snapshot => {
      console.log(JSON.stringify(snapshot.val()));
    });
  }

1 Ответ

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

Вы можете использовать запрос array-contains-any, чтобы проверить, содержит ли массив совпадений user_id.

var users = db.collection("users");
users.where('tempuser.matches', 'array-contains-any', [<USER_ID_TO_MATCH>]);

На основании результатов вы можете выполнять дополнительные запросы / операции. Вы также можете объединить этот запрос с другими запросами. См. документацию для получения дополнительной информации.

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