Sequelize "SELECT * from tablename" 查询
Sequelize "SELECT * from tablename" query
为什么下面的查询执行 SELECT id, email, name FROM users AS users WHERE users.email = 'admin@admin.com';
而不是 SELECT * from users WHERE email = admin@admin.com
?
http://docs.sequelizejs.com/en/latest/docs/querying/#where
文档指出,当我执行 findAll() 时,它会 运行 一个 SELECT * 查询,但它在我的示例中做了一些不同的事情。这里缺少什么?
这是我的用户模型。
var user = sequelize.define('users', {
id : {
type : Sequelize.INTEGER,
primaryKey : true,
autoIncrement : true
},
email : {
type : Sequelize.STRING
},
name : {
type : Sequelize.STRING
}
},
{
tableName: 'users',
freezeTableName: true
});
这是我的查询。它似乎只选择定义的列,但我不想要这个。
var email = "admin@admin.com";
user.findAll({where: {email: email}}).then(function (user) {
res.send(user);
}).error(function (err) {
console.log("Error:" + err);
});
这是 sequelize 的预期行为 select 仅对您定义的列进行处理。如果您想 select 使用 sequelize 的所有列,您必须在模型中定义它们。
为什么下面的查询执行 SELECT id, email, name FROM users AS users WHERE users.email = 'admin@admin.com';
而不是 SELECT * from users WHERE email = admin@admin.com
?
http://docs.sequelizejs.com/en/latest/docs/querying/#where
文档指出,当我执行 findAll() 时,它会 运行 一个 SELECT * 查询,但它在我的示例中做了一些不同的事情。这里缺少什么?
这是我的用户模型。
var user = sequelize.define('users', {
id : {
type : Sequelize.INTEGER,
primaryKey : true,
autoIncrement : true
},
email : {
type : Sequelize.STRING
},
name : {
type : Sequelize.STRING
}
},
{
tableName: 'users',
freezeTableName: true
});
这是我的查询。它似乎只选择定义的列,但我不想要这个。
var email = "admin@admin.com";
user.findAll({where: {email: email}}).then(function (user) {
res.send(user);
}).error(function (err) {
console.log("Error:" + err);
});
这是 sequelize 的预期行为 select 仅对您定义的列进行处理。如果您想 select 使用 sequelize 的所有列,您必须在模型中定义它们。