【问题标题】:How to save key of each item in the firebase如何在firebase中保存每个项目的密钥
【发布时间】:2020-12-26 00:19:50
【问题描述】:

我在我的 react 本机项目中使用 firebase。我正在保存项目,然后在我的应用程序中获取这些项目。但是现在我想根据firebase为您在ss中看到的每个项目生成的密钥来编辑和删除项目。 当我从 firebase 获取数据时,我得到的是项目,但不是每个项目的密钥。所以这就是我无法编辑或删除项目的原因 请帮助我了解如何执行此操作。

enter image description here

这是我在 Firebase 中添加项目的代码。

  export const addMeasurement = params => {
  return async dispatch => {
    dispatch(measurementLoading());
    try {
      firebaseService
        .database()
        .ref('/Measurements')
        .push(params)
        .then(res => {
          measurementAdded(res);
        });
    } catch (err) {
      dispatch(measurementFailed(err));
    }
  };
};

这是从早期存储的 firebase 获取项目的代码

 export const getMeasurements = () => {
  return async dispatch => {
    dispatch(measurementLoading());
    try {
      const ref = firebaseService.database().ref('/Measurements');
      ref.on('value', snapshot => {
        const values = snapshot.val();

        if (values !== null) {
          const newFreshArr = Object.values(values);

          dispatch(measurementSuccess(newFreshArr));
        }
      });
    } catch (err) {
      dispatch(measurementFailed(err));
    }
  };
};

【问题讨论】:

    标签: javascript arrays firebase react-native react-native-firebase


    【解决方案1】:

    您可以像这样获取快照的路径: let path = snapshot.ref.path.toString();。 然后,您可以使用该路径对 Firebase 数据库进行更改。 以下是相关文档:https://firebase.google.com/docs/reference/js/firebase.database.DataSnapshot#ref

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-12-05
      • 2017-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多