📜  firestore v9 addDoc 和 setDoc collection() doc() - Javascript (1)

📅  最后修改于: 2023-12-03 15:00:46.053000             🧑  作者: Mango

Firestore v9 addDoc 和 setDoc collection() doc() - Javascript

如果您正在使用Firestore v9,那么您需要知道如何使用addDoc和setDoc方法来向Firestore添加数据或更新数据。这些方法需要传递一个文档引用,这可以通过使用collection()和doc()方法来实现。

Firestore.collection() 方法

collection()方法用于获取一个集合的引用。它需要一个字符串参数作为集合名称。假设我们有一个名为“users”的集合,那么我们可以使用如下代码获取它的引用:

import { collection } from "firebase/firestore";
const usersRef = collection(db, "users");

这里的db是您已经创建的Firestore实例。

Firestore.doc() 方法

doc()方法用于获取文档引用。它需要一个字符串参数作为文档ID。假设我们有一个名为"john-doe"的文档,它是在“users”集合中的,那么我们可以使用如下代码获取它的引用:

import { doc } from "firebase/firestore";

const johnDoeRef = doc(usersRef, "john-doe");
addDoc() 方法

addDoc()方法用于向集合中添加一个新的文档,它需要一个数据对象作为参数。它将返回一个Promis,这个Promise将被解析为一个DocumentReference,该引用可以用来获取刚刚添加的文档的ID。如果添加文档时出错,Promise将被拒绝,并且您可以使用catch()方法来处理错误。

import { addDoc } from "firebase/firestore";

addDoc(usersRef, {
    name: "John Doe",
    age: 30,
    email: "john@example.com"
})
.then((docRef) => {
    console.log("Document written with ID: ", docRef.id);
})
.catch((error) => {
    console.error("Error adding document: ", error);
});
setDoc() 方法

setDoc()方法用于向文档中设置数据或替换整个文档。它需要一个数据对象作为参数。如果文档不存在,它将创建一个新的文档;如果文档存在,它将用新数据来替换旧数据。该方法的第二个可选参数可以用来设置选项,如合并选项,但这里不做介绍。

import { setDoc } from "firebase/firestore";

setDoc(johnDoeRef, {
    name: "John Doe",
    age: 35,
    email: "john.doe@example.com"
})
.then(() => {
    console.log("Document successfully written!");
})
.catch((error) => {
    console.error("Error writing document: ", error);
});

以上就是Firestore v9 addDoc 和 setDoc collection() doc()的介绍,希望能对您有所帮助!