如何在Firebase中更新单个元素

13 浏览
0 Comments

如何在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("文档不存在");

}

0
0 Comments

在Firebase中更新单个元素的方法是使用updateDoc函数。下面是一个示例代码:

import { doc, updateDoc } from "firebase/firestore";
const docRef = doc(db, "Patients", "");
await updateDoc(docRef , {
      //Values you want to update
});

问题的原因是需要在Firebase中更新特定元素的值。解决方法是使用updateDoc函数,并提供要更新的元素的文档引用和要更新的值。

0