updateDoc()을 사용하여 Firebase V9 Firestore 업데이트 문서 데이터

Firebase 버전 9 Cloud Firestore에서 기존 문서를 업데이트하는 데 사용할 수 있는 두 가지 방법이 있습니다.

setDoc()
updateDoc() → 현재 위치

updateDoc()을 사용하면 Firestore 데이터베이스에서 다음과 같은 기존 문서의 문서 필드만 업데이트할 수 있습니다.
  • Adding a new document field
  • Updating a value of an existing document field
  • Deleting a Document Field

  • updateDoc()을 사용하여 새 문서 필드 추가



    다음은 Cloud Firestore 데이터베이스의 도시 컬렉션에 있는 샘플 문서입니다.



    updateDoc() 메서드를 사용하여 기존 문서를 업데이트하려면 세 가지 메서드가 필요합니다.

  • getDatabase() → 문서를 업데이트하려는 위치.

  • doc() → 여기서 데이터베이스 참조, 컬렉션 및 해당 필드 중 하나를 업데이트하려는 문서의 ID를 전달합니다.

  • updateDoc() → doc() 메서드와 함께 교체하려는 새 데이터를 실제로 전달하는 위치.

  • Firestore 데이터베이스를 가져오고 **해체 **우리에게 필요한 세 가지 방법:

    import { getFirestore, doc, updateDoc } from "firebase/firestore";
    


    Firestore 데이터베이스를 초기화하고 db라는 상수에 저장합니다.

    const db = getFirestore();
    


    updateDoc() 메서드는 다음과 같은 두 가지 인수를 사용합니다.

  • doc() – 데이터베이스, 컬렉션 및 문서 ID 참조를 전달하는 위치

  • data {} – 업데이트하려는 실제 데이터를 기존 문서로 전달하는 위치

  • Doc() 메서드



    updateDoc() 메서드의 첫 번째 인수는 doc() 메서드입니다.

    이 doc() 메서드는 세 개의 인수를 사용합니다.

  • 데이터베이스 → DB

  • 컬렉션 이름 → 도시

  • 문서 ID → yftq9RGp4jWNSyBZ1D6L(문서 ID - 위 스크린샷 참조)

  • doc() 메서드를 호출하고 데이터베이스 참조(db), 컬렉션 이름(cities) 및 문서 ID(yftq9RGp4jWNSyBZ1D6L)를 전달합니다.

    docRef라는 상수에 할당합니다.

    const docRef = doc(db, "cities", "yftq9RGp4jWNSyBZ1D6L");
    


    문서 데이터 {}



    updateDoc() 메서드의 두 번째 인수는 도시 컬렉션 내에서 완전히 기존 문서를 업데이트하려는 실제 데이터입니다.

    값이 613인 코드라는 새 문서 필드를 추가하고 싶다고 가정해 보겠습니다.

    data라는 상수를 선언하고 기존 문서에 추가하려는 속성이 있는 JavaScript 개체를 할당합니다.

    이 경우 코드.

    const data = {
      code: "613"
    };
    


    updateDoc() 쿼리 만들기



    이제 두 가지 인수가 있으므로 새 문서 필드를 추가하여 기존 문서를 업데이트하려면 updateDoc() 쿼리를 수행해야 합니다.

    import { getFirestore, doc, updateDoc } from "firebase/firestore";
    
    // Your Firebase SDK Initialization code here
    
    const db = getFirestore(); // initialize Firestore
    
    const docRef = doc(db, "cities", "yftq9RGp4jWNSyBZ1D6L");
    
    const data = {
      code: "613"
    };
    
    updateDoc(docRef, data)
    .then(docRef => {
        console.log("A New Document Field has been added to an existing document");
    })
    .catch(error => {
        console.log(error);
    })
    




    updateDoc()을 사용하여 문서 필드의 값 업데이트



    기존 문서 필드를 새 값으로 업데이트할 수도 있습니다.

    지방 필드에서 Ontario의 값을 ON으로 변경해 보겠습니다.

    데이터 객체 내부의 Firestore 데이터베이스에 있는 정확한 문서 필드 이름을 새 값 ON으로 추가하기만 하면 됩니다.

    import { getFirestore, doc, updateDoc } from "firebase/firestore";
    ...
    const data = {
      province: "ON"
    };
    
    updateDoc(docRef, data)
    .then(docRef => {
        console.log("Value of an Existing Document Field has been updated");
    })
    .catch(error => {
        console.log(error);
    })
    




    업데이트하려는 경우 updateDoc() 쿼리가 Cloud Firestore의 기존 문서에 영향을 미치지 않는 두 가지 시나리오가 있습니다.

  • 빈 자바스크립트 객체 {} 또는

  • 이전 값을 가진 기존 문서 필드.

  • 새 문서 필드를 추가하고 기존 문서의 값을 업데이트하는 것 외에도 다음을 수행할 수 있습니다delete one or more document Field(s) using updateDoc().

    좋은 웹페이지 즐겨찾기