Javascript 我需要在数据库函数响应中返回一个唯一的用户id,我该怎么做

Javascript 我需要在数据库函数响应中返回一个唯一的用户id,我该怎么做,javascript,node.js,Javascript,Node.js,我需要使用uuid为数据库函数中添加的每个用户创建一个唯一的id。这是我到目前为止所拥有的,但我在JSON响应中没有得到id。我和firebase一起工作 const uuid = require('uuid/v5'); app.post("/", (request, response) => { const {age, birthday, firstName, hobby, lastName} = request.body; const id = uuid;

我需要使用
uuid
为数据库函数中添加的每个用户创建一个唯一的id。这是我到目前为止所拥有的,但我在JSON响应中没有得到
id
。我和firebase一起工作

const uuid = require('uuid/v5');

app.post("/", (request, response) => {
    const {age, birthday, firstName, hobby, lastName} = request.body;
    const id = uuid;

    return admin.database().ref('/users').push({age, birthday, firstName, hobby, lastName})
        .then(() => {
            return response.status(200).send({id, age, birthday, firstName, hobby, lastName})
        }).catch(error => {
            console.error(error);
            return response.status(500).send('Oh no! Error: ' + error);
        });
});

如果数据库中有id参数,则请求的参数也应为id
const{id,年龄,生日,名字,爱好,姓氏}=request.body


但最好的办法是DB上的每个新记录自动递增id值,我们不必从应用程序发送它。为此,我创建了一个单独的函数来处理它

const userId = (data) => {
    const string = `${data} ${new Date(Date.now())}`;

    return uuid(string, uuid.DNS);
};
这将根据给定给它的用户数据以及在特定时刻创建一个唯一的id

exports.addUserId = functions.database.ref('/users/{pushID}')
    .onCreate((snapshot) => {
        const userData = snapshot.val();

        return snapshot.ref.update({
            id: userId(userData['lastName']),
        });
    });