Javascript 为什么要继续使用小写返回字段名
我已经用camelCase字段名定义了我的模型。但是,当我运行Javascript 为什么要继续使用小写返回字段名,javascript,node.js,postgresql,orm,sequelize.js,Javascript,Node.js,Postgresql,Orm,Sequelize.js,我已经用camelCase字段名定义了我的模型。但是,当我运行findOne或findAll时,查询返回的数据总是小写,与模型不匹配。我试着通过启用日志记录来检查查询,查询似乎很好,它仍然像在模型中一样选择字段名(camelcase)。有人能帮我解决这个问题吗 注意:我使用的是PostgreSQL 这是我的模型: const reportSchema = { reportId: { type: DataTypes.UUID, defaultValue: Sequelize.U
findOne
或findAll
时,查询返回的数据总是小写,与模型不匹配。我试着通过启用日志记录来检查查询,查询似乎很好,它仍然像在模型中一样选择字段名(camelcase)。有人能帮我解决这个问题吗
注意:我使用的是PostgreSQL
这是我的模型:
const reportSchema = {
reportId: {
type: DataTypes.UUID,
defaultValue: Sequelize.UUIDV4,
primaryKey: true,
allowNull: false
},
reportName: {
type: DataTypes.STRING,
allowNull: false
},
reportCategory: {
type: DataTypes.STRING,
allowNull: false
}
以下是我的连接配置:
new Sequelize(databaseConfig.dbName, databaseConfig.dbUsername, databaseConfig.dbPassword, {
host: databaseConfig.dbHost,
port: databaseConfig.dbPort,
dialect: 'postgres',
quoteIdentifiers: false,
query: {
raw: true
}
// logging: false
});
注意:我认为问题可能在于连接配置中的quoteIdentifier
选项。但是如果没有设置为false,我就无法访问我在PascalCase中创建的表。如果我将其设置为true,它将在查询中用双引号括起字段名,我想这在Postgres for camelcase中是无效的
您的代码在哪里?谢谢您的快速回复。你想看什么代码?模型定义、连接配置或findOne查询?是,模型和对连接设置配置的任何覆盖。您的表列名也是小写的吗?还包括SQL表定义。已更新。请看一看默认情况下,Postgres将所有标识符名称折叠为小写(与指定大写的SQL标准相反)。这有效地使名称用例具有激励性;由于“myData”、“myData”、“myData”都折叠在同一个值“myData”中。您可以通过将指定的大小写放在双引号(“)中来强制Postgres保留其大小写。但是,您必须始终使用双引号,因为未加引号的值与带引号的值不匹配:MyData与“MyData”不同。