gpt4 book ai didi

javascript - 获取 Sequelize Promise 的内容而不执行它

转载 作者:太空宇宙 更新时间:2023-11-04 01:59:36 26 4
gpt4 key购买 nike

我知道这可能是一个奇怪的问题,从现在开始我对此感到抱歉。

让我们想象一下我有一些像这样简单的东西。

let query = User.findAll({where: {name: 'something'}})

有没有一种方法可以让我访问查询的内容。 内容我的意思是使用User.findAll生成的事实,我不关心promise的.then()的结果。

最佳答案

尝试使用options.logging在运行查询时执行的函数来记录sql。

Documentation Model.findAll

代码:

const promise = User.findAll({
logging: (query, obj) => {
console.log("QUERY: ", query, "\n\nOBJ: ", obj);
},
where: {
name: 'something',
},
});

输出:

QUERY:  Executing (default): SELECT `id`, `name` FROM `users` AS `user` WHERE `user`.`name` = `something`;

OBJ: { logging: [Function: logging],
plain: false,
raw: false,
showWarnings: false,
where: '`user`.`name` = `something`',
hooks: true,
rejectOnEmpty: false,
attributes: [ 'id', 'name' ],
tableNames: [ 'users' ],
type: 'SELECT',
model: user }

更新:[回复评论]

我不明白是什么,但你可以使用这样的东西:

import DB from 'sequelize-connector';

// this is middleware
// app.use(this middleware)
export default (req, res) => {
const promise = DB.user.findAll({
logging: (query, obj) => {
// here all your staff with req or res
// get something from req
// req.next()
// or res.send(something)
// or throw new Error ...
req.next();
},
where: {
id: 1,
},
});
};

关于javascript - 获取 Sequelize Promise 的内容而不执行它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46569736/

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