--
※ この募集は締め切られました。
[単発]【Javascript】問題解決を手伝ってほしいです
Javascriptの、ローカルでnode実行するプログラムの開発をしています。
[参考サイト:https://stackoverflow.com/questions/46640981/how-to-import-csv-or-json-to-firebase-cloud-firestore の、
サンプル(回答1つ目、Maciej Caputaさんのもの)を参考に、Firestoreにjsonデータを登録するプログラムです。※参考というより、ロジック部はまるっと借用させて頂いてます
これを、固有箇所を私の情報・ファイル内容に置き換えて実行しているのですが、uploadという更新functionにて、エラー分岐(Could not write document~)に入ってしまっており、問題解決のラチが開かない感があるので、お助けを希望しています。
以下、ここまでに確認できていることの、具体的内容になります。
※記載情報に不足等あれば、その旨ご教示ください。
テスト実行における、インプットは以下です。
※問題箇所は、固有箇所の置き換えではない可能性が高い、と認識しています。
別参考サイト:https://orangelog.site/firebase/firestore-csv-import/ にて、
同一指定情報で更新できている(こちらはCSVのみ対応、サブコレクション非対応)ため。
### fakedb.json
{
"users" : {
"user1" : {
"field1" : "foo",
"field2" : "bar"
},
"user2" : {
"field1" : "fog",
"field2" : "buzz",
"sub": {
"subUser1": {
"field3" : "foo",
"field4" : 4
},
"subUser2": {
"field3" : "foobar",
"field4" : 5
}
}
}
}
}
### 上記をInputにした場合の、結果console出力
Could not write document users/user1.
Could not write document users/user2/sub/subUser1.
Could not write document users/user2.
Could not write document users/user2/sub/subUser2.
→サブコレクションが含まれている場合に対応したimportツールのため、コレクション・サブコレクションの数分、繰り返し処理が発生します。当該繰り返し処理については、上記の内容で正しい理解です。
### デバッグで確認できていること
return await admin.firestore() の行にポインタを置いてデバッグすると、1周目だと、
「path」という変数には、 (2) ['collection_name', 'document_identifier1'] という配列、
→これは、ルートノードからのパス構成を配列を持っている理解です。
「data」という変数には、{field1: 'foo', field2: 'bar'} というobjectが入っています。
→これが、登録したいデータの理解です。
inputの(変数)データは、これで正しい理解なのですが、await ~ then catch における、catchのエラーの方に処理が流れてしまっております。
以上、ヒントになりうることのご教示だけでも大変ありがたい現状です。
何卒よろしくお願いいたします。
プロフィール
始めまして、ユーザ名1484と申します。
大学生の時にIT系のwebサービス事業会社でアルバイト3年程度、
新卒でSIer企業に入り、2020年10月時点で4年目になります。
仕事回りでは、
web制作や、各種開発(小・中規模)・保守などで、VBA、html、css、javascript、php、wordpress、mysql、Java、oracle、DB2、Uipathなど、意図して広く浅く触ってきました。
別途新しく覚えたい技術について、メンターをして頂ける方を探したく、登録いたしました。
何卒よろしくお願いいたします。
■直近で覚えたいこと
・画像作成・加工
・web開発(react,typescript,firebase)
--