如何解决如何在Firebase中保存每个项目的密钥
我在我的React Native项目中使用了Firebase。我正在保存项目,然后在我的应用程序中获取这些项目。但是,现在我想根据Firebase为您在ss中看到的每个项目生成的密钥来编辑和删除项目。 当我从Firebase获取数据时,我正在获取项目,但没有获取每个项目的密钥,所以这就是为什么我无法编辑或删除项目的原因 请帮我解决这个问题。
这是我在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));
}
};
};
解决方法
您可以像这样获取快照的路径:
let path = snapshot.ref.path.toString();
。
然后,您可以使用该路径对Firebase数据库进行更改。
这是有关此文档:https://firebase.google.com/docs/reference/js/firebase.database.DataSnapshot#ref
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。