gpt4 book ai didi

express - 在数据库中保存 Sequelize 查询文本

转载 作者:行者123 更新时间:2023-12-03 22:35:55 26 4
gpt4 key购买 nike

我有一个 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 所需的模型并将其保存在数据库中。

最佳答案

这实际上相当简单

  • 不要使用多行字符串,因为某些原因它会触发函数调用
  • 使用 eval 评估字符串

  • 例子:
    let queryToRun = 'models.project.findAll({})';
    Promise.all([eval(queryToRun)]);

    关于express - 在数据库中保存 Sequelize 查询文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60627328/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com