我有一个 sequelize 查询,我想将它保存在数据库中,然后按需执行。为了做到这一点,我首先测试这在作为字符串的变量中如何工作(因为在数据库中它将作为字符串存储):
queryToRun = models.user.findAll({
attributes: [
['name', 'name'],
[Sequelize.literal("COUNT(DISTINCT(user.id))"), "user_count"]
],
group: Sequelize.col("user.name")
})
有了这个查询,我想像这样使用它:
Promise.all(queryToRun);
我能够成功地将对象(带有属性等进入
findAll
的对象)保存为字符串然后执行,但我不知道如何保存查询的每个部分。我想保存实际的 "model.user.findAll()"
字符串并稍后对其进行评估。这很重要,因为我想定义运行
findAll
所需的模型并将其保存在数据库中。
最佳答案
这实际上相当简单
例子:
let queryToRun = 'models.project.findAll({})';
Promise.all([eval(queryToRun)]);
关于express - 在数据库中保存 Sequelize 查询文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60627328/