前提・実現したいこと
先日FirebaseがNode8のサポート切れになってしまい今まで動いていたものが動かなくなってしまいました。
発生している問題・エラーメッセージ
Unable to detect a Project Id in the current environment.
コマンドプロンプトでのメッセージです。
デプロイではエラーにならず、Firebaseでもエラーになっていないようなのですが
処理は実行されていないようです。
該当のソースコード
Node.js
1 2var admin = require("firebase-admin"); 3admin.initializeApp(); 4 5const db = admin.firestore(); 6 7 let dataRef = db.collection('user_info').get(); 8 dataRef.then(snapshot => { 9 if (snapshot.empty) { 10 console.log('No matching documents.'); 11 return; 12 } 13 snapshot.forEach(doc => { 14 console.log(doc.id); 15 let dataRef1 = db.collection('user_info').doc(doc.id); 16 var new_weekly_status = doc.data().weekly_status; 17 var new_non_response_date = doc.data().non_response_date; 18 // 19 switch (doc.data().dairy_status){ 20 case '0': 21 new_weekly_status= new_weekly_status + '2'; 22 new_non_response_date++; 23 break; 24 case '1': 25 dataRef1.update({dairy_status: '0'}); 26 new_non_response_date = 0; 27 break; 28 }; 29 // 30 while (new_weekly_status.length >= 7) { 31 new_weekly_status = new_weekly_status.substr(1) 32 }; 33 dataRef1.update({weekly_status: new_weekly_status}); 34 dataRef1.update({non_response_date: new_non_response_date}); 35 }); 36 }) 37 .catch(err => { 38 console.log('Error getting documents', err); 39 }); 40 41 42 43const functions = require('firebase-functions'); 44exports.scheduledFunctionCrontab = functions 45.pubsub.schedule('0 0 * * *') 46.timeZone('Asia/Tokyo') 47.onRun((context) => { 48console.log('This will be run every day at 0:00 AM Eastern!'); 49return null; 50}); 51 52
試したこと
package.jsonのバージョンは以下のように変更しました
"engines": {
"node": "10"
},
let dataRef = db.collection('user_info').get();
dataRef.then(snapshot => {
このあたりで上記エラーが出ているようなのですが、ネットで調べましたが検討がつきません。
エラー原因と対処法ともにお手上げ状態です。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。