【Swift】Cloud Firestore의 map형으로 지정한 속성만 업데이트

소개



전회의 투고에서도 Firestore의 map형에 대해서 썼습니다만,
이번은 앱에서 Firestore의 map형 데이터의 지정 항목만을 갱신하는 방법에 대해서, 비고록으로서 썼습니다.

■ 마지막 게시물
【Swift】Cloud Firestore로 map형을 취득하는 Tips

운영 환경



Xcode12.4/iOS14.4

Firestore 데이터 구조



Firestore 내에서 정의한 데이터 구조는 다음과 같습니다.


이번 목적



map형의 1개의 단위는, id ~ price 까지가 됩니다만, 이번은 맨 위의 데이터(1)의 isOrderComplete: Bool 지정해 그것만을 갱신합니다.

구현



소스 코드


func updateOrderComplete(flag: Bool, completion: @escaping (_ succsess: Bool, _ _error: Error?) -> Void) {
        // まずは、更新対象のコレクションとドキュメントを指定
        let orderRef = db.collection("ordering").document("01")
        // map型の更新したいプロパティを[key].[property]という形式で指定する(詳細は解説に記載)
        orderRef.updateData(["1.isOrderComplete" : flag]) { _error in
            if let error = _error {
                // 失敗
                completion(false, error)
            } else {
                // 成功
                completion(true, nil)
            }
        }
    }

해설



이 주제를 설명하기 전에 Firestore의 map 유형 구조를 이해해야합니다.


KEY
Value


이번에는 '1'에 해당하는 부분
업데이트 대상 isOrderComplete를 포함하여 id ~ price가 저장된 부분


map형의 구조는 이런 느낌입니다.

이 경우에는 1(KEY)isOrderComplete를 업데이트하는 것이 목적입니다.
map형의 지정된 프로퍼티를 갱신하고 싶은 경우, Key와 프로퍼티의 사이를 닷으로 단락지어 지정하는 것으로 실현할 수 있는 것 같습니다.

이하, 공식 레퍼런스를 붙여 둡니다!
htps : // 푹 빠져라. 오, ぇ. 코 m / 드 cs / 푹신 s 잡아 / 마나게 - 다 / 아 d - 이었어? hl = 그럼 # u p dae_fue lds_in_ne s ne d_o bji cts

좋은 웹페이지 즐겨찾기