如何在Firebase中更新单个元素
如何在Firebase中更新单个元素
我从Firebase数据库中获取所有数据,并在列表中显示。然后,我想要更新特定的元素。我该如何更新它?
我正在使用Next.js/react.js。
一些基本文件看起来像这样:
// 导入所需的SDK函数
import { initializeApp } from "firebase/app";
import { getFirestore } from "@firebase/firestore";
// TODO:添加您想要使用的Firebase产品的SDK
// https://firebase.google.com/docs/web/setup#available-libraries
// 您的Web应用的Firebase配置
// 对于Firebase JS SDK v7.20.0及更高版本,measurementId是可选的
const firebaseConfig = {
apiKey: "A#########################I",
authDomain: "clion-project.firebaseapp.com",
projectId: "clion-project",
storageBucket: "clion-project.appspot.com",
messagingSenderId: "8#########",
appId: "1:86735948933:web:46352###############",
measurementId: "G-KZG7P8MRW2",
};
// 初始化Firebase
const app = initializeApp(firebaseConfig);
export const db = getFirestore(app);
获取所有元素的代码:
const usersCollectionRef = collection(db, "Patients");
const [user, setUsers] = useState([]);
const q = query(usersCollectionRef);
onSnapshot(q, (QuerySnapshot) => {
setUsers(
QuerySnapshot.docs.map((doc) => ({
id: doc.id,
data: doc.data(),
}))
);
});
获取特定元素的所有项目:
const docRef = doc(db, "Patients", "<您的元素文档ID>");
const docSnap = await getDoc(docRef);
if (docSnap.exists()) {
console.log("文档数据:", docSnap.data());
} else {
console.log("文档不存在");
}