setDoc()을 사용하여 Firebase V9 Firestore 업데이트 문서 데이터
setDoc() → 현재 위치
참고: 더 진행하기 전에 세 가지 작업을 수행해야 합니다.
setDoc() 메서드를 사용하여 다음을 업데이트할 수 있습니다.
Entire existing document 또는
Specific document field Firestore 데이터베이스에 있습니다.
그 외에도 setDoc() 메서드를 사용할 수도 있습니다add a brand new document to a collection.
Firestore 업데이트 전체 문서
다음은 Cloud Firestore에 저장된 샘플 데이터입니다.
setDoc() 메서드를 사용하여 전체 문서를 업데이트해 보겠습니다.
setDoc() 메서드를 사용하여 데이터를 완전히 업데이트하려면 세 가지 메서드가 필요합니다.
getDatabase() → 문서를 업데이트하려는 위치.
doc() → 여기서 데이터베이스 참조, 업데이트하려는 문서의 컬렉션 및 ID를 전달합니다.
setDoc() → doc() 메서드와 함께 교체하려는 새 데이터를 실제로 전달하는 위치.
Firestore 데이터베이스를 가져오고 필요한 세 가지 방법을 해체합니다.
import { getFirestore, doc, setDoc } from "firebase/firestore";
Firestore 데이터베이스 초기화:
const db = getFirestore(app);
Doc() 메서드
setDoc() 메서드의 첫 번째 인수는 doc() 메서드입니다.
이 doc() 메서드는 세 개의 인수를 사용합니다.
데이터베이스 → DB
컬렉션 이름 → 도시
문서 ID → p4eZc05QV43InigxALJ(문서 ID – 위 스크린샷 참조)
doc() 메서드를 호출하고 데이터베이스 참조(db), 컬렉션 이름(cities) 및 문서 ID(p4eZc05QV43InigxALJ)를 전달합니다.
docRef라는 상수에 할당합니다.
const docRef = doc(db, "cities", "p4eZc05QV43InigxALJ");
문서 데이터 {}
setDoc() 메서드의 두 번째 인수는 도시 컬렉션 내에서 완전히 기존 문서를 업데이트하려는 실제 데이터입니다.
As you can see the new data has complete different than the existing document data in the Firestore database including the field name.
const data = {
title: "Vancouver",
provinceName: "British Columbia",
countryCode: "CA"
};
문서를 업데이트하기 위한 SetDoc() 쿼리
이제 setDoc() 메서드를 성공적으로 사용하기 위해 필요한 두 가지 인수가 있습니다.
setDoc() 메서드를 호출하고 docRef 및 데이터를 인수로 전달합니다.
import { getFirestore, doc, setDoc } from "firebase/firestore";
// Your Firebase SDK Initialization code here
const db = getFirestore(app);
const docRef = doc(db, "cities", "p4eZc05QV43InigxALJ");
const data = {
title: "Vancouver",
provinceName: "British Columbia",
countryCode: "CA"
};
setDoc(docRef, data)
.then(docRef => {
console.log("Entire Document has been updated successfully");
})
.catch(error => {
console.log(error);
})
setDoc() 쿼리 실행…
그리고 기존 문서가 필드 이름을 포함하여 도시 컬렉션 내에서 완전히 업데이트된 것을 볼 수 있습니다.
기존 ID로 setDoc() 메서드를 사용하면 전체 문서 데이터가 삭제되고 새로 제공되는 데이터로 교체됩니다.
Firestore 업데이트 문서 필드
기존 문서에서 특정 필드의 값만 업데이트하려는 경우에는 어떻게 해야 합니까?
이를 위해 setDoc() 메서드에 세 번째 인수를 추가하기만 하면 됩니다.
단일 속성을 가진 JavaScript 개체가 됩니다.
병합:참
import { getFirestore, doc, setDoc } from "firebase/firestore";
...
setDoc(docRef, data, { merge:true })
.then(docRef => {
console.log("Document Field has been updated successfully);
})
.catch(error => {
console.log(error);
})
merge:true를 추가하면 setDoc() 메서드에는 다음과 같은 4가지 중요한 동작이 있습니다.
Reference
이 문제에 관하여(setDoc()을 사용하여 Firebase V9 Firestore 업데이트 문서 데이터), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/hirajatamil/firebase-v9-firestore-update-document-data-using-setdoc-dh4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)