Sequelize ищет поле вместо переменной - PullRequest
0 голосов
/ 29 апреля 2020

Я новичок в Sequelize, создал запрос, который выглядит следующим образом:

router.get("/", async (req,res) => {
    try {
        ...
            let filter = req.body.filter || "favorites";
            let filter_value = req.body.filter_value || false;

            let results = await Promise.all([ 
                await models.bookmark.findAll({
                ...,
                    where: {
                        filter:filter_value
                    }
                })              
            ])

            ...
})

Проблема в том, что он видит «фильтр» как поле / атрибут и использует его для поиска, а не его значение «избранное». С этим можно что-нибудь сделать?

1 Ответ

0 голосов
/ 29 апреля 2020

Вы должны использовать [], чтобы использовать значение реквизита вместо его имени:

where: {
  [filter]: filter_value
}
...