Получить определенную коллекцию c из базы данных firebase с помощью React Native - PullRequest
0 голосов
/ 04 августа 2020

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

  handleBarCodeScanned = ({ type, data }) => {
    this.setState({ scanned: true });
  

    
      firebase
        .database()
        .ref('items')
        .once("value", (item) => {
          var li = [];

          item.forEach((child) => {
            li.push({
              key: child.key,
              itemName: child.val().itemName,
              itemPrice: child.val().itemPrice,
            });
          });
          this.setState({ list: li });
          console.log(item.toJSON());


        });

Поэтому я попытался жестко закодировать идентификатор коллекции, используя оператор if, и он работает, но я хочу, чтобы он извлекал идентификатор коллекции из базы данных.

if (data == 6001374025686) {
      firebase
        .database()
        .ref('items')
        .orderByKey()
        .equalTo("6001374025686")
        .once("value", (item) => {
          var li = [];

          item.forEach((child) => {
            li.push({
              key: child.key,
              itemName: child.val().itemName,
              itemPrice: child.val().itemPrice,
            });
          });
          this.setState({ list: li });
          console.log(item.toJSON());


        });
    } else if (data == 3607342734074) {
      firebase
        .database()
        .ref('items')
        .orderByKey()
        .equalTo("3607342734074")
        .once("value", (item) => {
          var li = [];

          item.forEach((child) => {
            li.push({
              key: child.key,
              itemName: child.val().itemName,
              itemPrice: child.val().itemPrice,
            });
          });
          this.setState({ list: li });
          console.log(item.toJSON());

Надеюсь, моя проблема ясна Пожалуйста, помогите.

Структура базы данных

out Вывод второго подхода 1

вывод 1-го подхода

...