ユーザー登録で「300円クーポン」プレゼント!まずは無料登録から!
募集をシェアしてメンターを探そう
シェア
エンジニア Firestore JSON JavaScript Node.js

[単発]【Javascript】問題解決を手伝ってほしいです

2020年12月1日
予算
〜 3,000円
提案数
2人が提案中

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のエラーの方に処理が流れてしまっております。

以上、ヒントになりうることのご教示だけでも大変ありがたい現状です。
何卒よろしくお願いいたします。

メンティーに提案してみましょう
募集をシェアしてメンターを探そう
シェア