Firestore 오류: 오류: '데이터' 인수 값이 유효한 Firestore 문서가 아닙니다. 입력은 일반 JavaScript 객체가 아닙니다.

안녕하십니까!!
내 서비스 API의 데이터베이스로 firestore를 사용하려고 합니다. 그런데 아래와 같은 에러가 발생했습니다.

Error: Value for argument "data" is not a valid Firestore document. Input is not a plain JavaScript object.


접근하다


import { DocumentData, FirestoreDataConverter, QueryDocumentSnapshot } from '@google-cloud/firestore'

export const converter = <
    AppValue extends object
>(validator?: (value: AppValue) => AppValue): FirestoreDataConverter<AppValue> => {
    return {
        fromFirestore: (snapshot: QueryDocumentSnapshot<AppValue>) => {
            let data = snapshot.data()
            Object.keys(data).forEach((key) => {
                // @ts-ignore
                if (typeof data[key].toDate == "function" && typeof data[key].seconds == "number") {
                    // Timestamp型は扱いにくいのでDate型に強制変更
                    // @ts-ignore
                    data[key] = data[key].toDate()
                }
            })
            return data
        },
        /*
        * Async Await syntax don't support!!
        *
        * Fix like below
        * toFirestore: (value: AppValue): DocumentData => {
        **/
        async toFirestore: (value: AppValue): DocumentData => {
            if (validator) {
                return validator(value)
            }
            return value
        }
    }
}

export default converter

좋은 웹페이지 즐겨찾기