给定用户在Firestore中具有用户个人资料的情况下,如何检查用户是否存在

我想检查用户是否存在于Firestore的“用户”集合中,因此我不会写给不存在的用户。我对文档有些迷惑,因此不胜感激。

这是我到目前为止尝试过的:

const admin = require('firebase-admin');
const functions = require('firebase-functions');
const express = require('express');

admin.initializeApp();

const db = admin.firestore();
const messaging = admin.messaging();
const app = express();

app.get('/checkUserID/:userID',async (request: any,response: any) => {
    const userID: String = request.params.userID;

    console.log(`Looking up user ${userID}`);

    try {
        db.doc("Users/"+userID).get().then((documentsnapshot: any) => {
            const userExists = documentsnapshot.exists;

            if (userExists) {
                response.set('Cache-Control','private,max-age=300');
                return response.status(200);
            } else {
                return response.status(404).json({errorCode: 400,errorMessage: `User '${userID}' not found`});
            }
        });
    } catch(error) {
        console.log('Error checking if user exists:',userID,error.message);
        return response.sendStatus(404);
    }
});

exports.api = functions.https.onRequest(app);

非常感谢:D

编辑:我的问题是大约一分钟后我收到408超时。

zhaienpeng3 回答:给定用户在Firestore中具有用户个人资料的情况下,如何检查用户是否存在

好像我只需要使用response.sendStatus()而不是response.status()。 感谢@samthecodingman

本文链接:https://www.f2er.com/3134451.html

大家都在问