在Redis中将对象推入数组中

时间:2019-12-18 10:30:34

标签: node.js redis

我试图在Redis中保存在数组中创建的所有对象(用户),因此当我将对所有对象(用户)的GET请求发送到Redis时,我将获取所有用户的Array。 我正在使用Fastify作为Node.js的框架。 这是发布请求的用户路线:

// POST /users/register
    fastify.post('/register', async (req, res) => {
        const valid = validate(req.body)
        if(!valid) {
            console.log(`${validate.errors[0].dataPath}: ${validate.errors[0].message}`)
            return res.send(validate.errors)
        }

        client.hmset([req.body.id, "name", req.body.name, "age", req.body.age])

        const user = users.find(user => user.id === req.body.id)
        if(user) {
            return res.send({ error: "User already registered"})
        }

        res.send("User registered successfuly.")
    })

现在,该用户已保存,如果要显示此用户,请发送以下请求:

// GET /users/:id
    fastify.get('/:id', async (req, res) => {
        client.hgetall(req.params.id, (err, obj) => {
            if(!obj) {
                res.send({ error: "User doesnt exist"})
            } else {
                res.send(obj)
            }
        })
    })

但是我找不到显示所有创建的用户的方法。这可能很愚蠢,但是我对Redis还是陌生的。谢谢

0 个答案:

没有答案