Продолжить поиск из столбца, содержащего массив JSON в таблице mysql

#mysql #node.js #json #sequelize.js

#mysql #node.js #json #sequelize.js

Вопрос:

В моей таблице mysql у меня есть столбец типа JSON

 const monthlyProgress = sequelize.define("monthlyprogress", {
    .
    .
    .
    duration: {
            type: Sequelize.JSON
          }
 });
return monthlyProgress;
 

в этом столбце «длительность» у меня есть массив объектов JSON

 [{"time":"nov-2020"},{"time":"dec-2020"}]
 

Теперь мне нужно продолжить поиск, чтобы получить строки, где условие будет e
time = «nov-2020»
этого столбца «duration»
. я пробовал много способов, но каждый раз терпел неудачу. Ниже я показываю один из способов, который я нашел в stackoverflow. Но это также неудачный attepmt

Это дает мне вывод тех строк, у которых нет времени =»ноябрь-2020″

 await monthlyProgress.findAll({
        where: {
            duration: [
                fn('JSON_CONTAINS', col('duration'), cast('{"time": "nov-2020"}', 'CHAR CHARACTER SET utf8'))
            ]
        }
    })
 

Это еще одна попытка, которая показывает это сообщение об ошибке UnhandledPromiseRejectionWarning: ReferenceError: JSON_CONTAINS не определено

 await monthlyProgress.findAll({
        where: {
            [Op.and]: db.Sequelize.literal(JSON_CONTAINS(`duration`, '{"time": nov-2020}')),
        }
    })