0

Cloud Firestoreの特定の場所にデータを投稿しようとしています。クラウド機能自体はHTTPS経由で切り替えられます。 request.bodyの場合、私はbodyParser.jsonメソッドを使用しています。500クラウドFirestoreをHTTPSでクラウド機能で使用しているときの内部サーバーエラー

notifull.post('/postNote', (request, response) => { 

    // grab variables and files from body and query strings 
    var subject = request.body.subject; 
    var category = request.body.category; 
    var subcategory = request.body.subcategory; 

    var title = request.body.title; 
    var id = request.body.id; 
    var userID = request.body.userID; 

    // add data to collection 
    var referenceString = `${subject}/${category}/${subcategory}/${id}`; 

    var reference = admin.firestore().doc(referenceString); 

    reference.set({ 
     "title": title, 
     "id": id, 
     "userID": userID, 
     "timestamp": Date.now(), 
     "upvotes": 0 
    }); 


    // update user posts??? 

}); 

参考のために少しの文書があります。

代わりに、500内部サーバーエラーが返されます。

ログのエラーは "TypeError:admin.firestoreは関数ではありません"です。 firebase-adminバージョン4.2.1を使用しています。

+0

あなたの変数 'reference'は有効ですか? – STLDeveloper

答えて

0

あなたはfirebase-adminの古いバージョンを使用しています。 Firestoreのサポートは最近まで追加されていませんでした。最新バージョンをインストール:

npm install [email protected] 

をまた、すべてのHTTPS機能は、すべての可能なコードパスのためにクライアントに応答を返す必要がありますし、すべての作業は、機能的に完了した後にのみ。

reference.set({ 
    "title": title, 
    "id": id, 
    "userID": userID, 
    "timestamp": Date.now(), 
    "upvotes": 0 
}) 
.then(() => { 
    response.send("OK") 
}) 
.catch(error => { 
    response.status(500).send(error) 
}) 
関連する問題