防止 Sequelize 在执行查询时将 SQL 输出到控制台? [英] Prevent Sequelize from outputting SQL to the console on execution of query?
本文介绍了防止 Sequelize 在执行查询时将 SQL 输出到控制台?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个功能可以检索用户的个人资料.
app.get('/api/user/profile', function (request, response){//创建默认错误容器var error = new Error();var 用户 = db.User;用户查找({其中:{电子邮件地址:request.user.username}}).then(函数(用户){如果(!用户){错误.状态= 500;error.message = "ERROR_INVALID_USER";错误代码 = 301;返回下一个(错误);}//从用户对象构建配置文件个人资料 = {名字":user.firstName,姓氏":user.lastName,电子邮件地址":user.emailAddress}response.status(200).send(profile);});});
当调用find"函数时,它会在启动服务器的控制台上显示选择语句.
正在执行(默认):SELECT `id`、`firstName`、`lastName`、`emailAddress`、`password`、`passwordRecoveryToken`、`passwordRecoveryTokenExpire`、`createdAt`、`updatedAt` FROM `Users` AS `User` WHERE `User`.`emailAddress` = 'johndoe@doe.com' LIMIT 1;
有没有办法让它不显示?我在某个配置文件中设置的一些标志?
解决方案
当您创建 Sequelize 对象时,将 false
传递给 logging
参数:
var sequelize = new Sequelize('database', 'username', 'password', {//禁用日志;默认值:console.log记录:假});
有关更多选项,请查看文档.>
I have a function to retrieve a user's profile.
app.get('/api/user/profile', function (request, response)
{
// Create the default error container
var error = new Error();
var User = db.User;
User.find({
where: { emailAddress: request.user.username}
}).then(function(user)
{
if(!user)
{
error.status = 500; error.message = "ERROR_INVALID_USER"; error.code = 301;
return next(error);
}
// Build the profile from the user object
profile = {
"firstName": user.firstName,
"lastName": user.lastName,
"emailAddress": user.emailAddress
}
response.status(200).send(profile);
});
});
When the "find" function is called it displays the select statement on the console where the server was started.
Executing (default): SELECT `id`, `firstName`, `lastName`, `emailAddress`, `password`, `passwordRecoveryToken`, `passwordRecoveryTokenExpire`, `createdAt`, `updatedAt` FROM `Users` AS `User` WHERE `User`.`emailAddress` = 'johndoe@doe.com' LIMIT 1;
Is there a way to get this not to be display? Some flag that I set in a config file somewhere?
解决方案
When you create your Sequelize object, pass false
to the logging
parameter:
var sequelize = new Sequelize('database', 'username', 'password', {
// disable logging; default: console.log
logging: false
});
For more options, check the docs.
这篇关于防止 Sequelize 在执行查询时将 SQL 输出到控制台?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文