> 웹 프론트엔드 > JS 튜토리얼 > 덮어쓰지 않고 Firestore에서 배열을 업데이트하는 방법: 'arrayUnion' 및 'arrayRemove' 가이드

덮어쓰지 않고 Firestore에서 배열을 업데이트하는 방법: 'arrayUnion' 및 'arrayRemove' 가이드

Patricia Arquette
풀어 주다: 2024-10-25 08:08:02
원래의
424명이 탐색했습니다.

How to Update Arrays in Firestore Without Overwriting: A Guide to `arrayUnion` and `arrayRemove`

Firestore에서 손쉽게 배열 업데이트

Firestore를 사용하면 문서 내에서 배열을 업데이트해야 할 수도 있습니다. 이것이 간단한 작업처럼 보일 수 있지만 이를 완벽하게 달성하려면 Firestore의 특정 기능을 이해해야 합니다.

일반적으로 merge: true 또는 .update()와 함께 .set()과 같은 기술을 사용하여 배열을 업데이트하려고 시도하면 종종 결과가 발생합니다. 배열의 내용을 덮어쓰는 중입니다. 그러나 Firestore는 이제 배열 요소를 원활하게 추가하고 제거할 수 있는 두 가지 우아한 기능을 제공합니다.

  • arrayUnion(): 선택적으로 배열에 요소를 추가하여 중복을 방지합니다.
  • arrayRemove(): 배열에서 지정된 요소의 모든 항목을 효율적으로 제거합니다.

예를 들어 다음 구조의 문서가 있다고 가정합니다.

{
  proprietary: "John Doe",
  sharedWith: [
    {who: "[email protected]", when: timestamp},
    {who: "[email protected]", when: timestamp},
  ],
}
로그인 후 복사

sharedWith 배열에 새 항목을 추가하려면 다음 구문을 사용할 수 있습니다.

<code class="javascript">firebase.firestore()
  .collection('proprietary')
  .doc(docID)
  .update({
    sharedWith: firebase.firestore.FieldValue.arrayUnion(
      {who: "[email protected]", when: new Date()}
    )
  });</code>
로그인 후 복사

마찬가지로 배열에서 요소를 제거하려면 다음 방법을 사용하세요.

<code class="javascript">firebase.firestore()
  .collection('proprietary')
  .doc(docID)
  .update({
    sharedWith: firebase.firestore.FieldValue.arrayRemove({who: "[email protected]"})
  });</code>
로그인 후 복사

이러한 특수 기능을 활용하면 원치 않는 덮어쓰기에 대한 걱정 없이 Firestore 문서의 배열을 자신있게 업데이트할 수 있습니다. 특정 시나리오에 대한 자세한 예시와 지침은 공식 Firestore 문서를 참조하세요.

위 내용은 덮어쓰지 않고 Firestore에서 배열을 업데이트하는 방법: 'arrayUnion' 및 'arrayRemove' 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿