Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Sequelize:是否可以返回自定义字段名而不是常规字段名?_Node.js_Express_Sequelize.js - Fatal编程技术网

Node.js Sequelize:是否可以返回自定义字段名而不是常规字段名?

Node.js Sequelize:是否可以返回自定义字段名而不是常规字段名?,node.js,express,sequelize.js,Node.js,Express,Sequelize.js,例如,我有这个模型: module.exports = function(sequelize, DataTypes) { const Users = sequelize.define('Users', { user_name: { type: DataTypes.STRING, allowNull: false }, password: { type: DataTypes.STRING, allowN

例如,我有这个模型:

module.exports = function(sequelize, DataTypes) {
    const Users = sequelize.define('Users', {
    user_name: {
        type: DataTypes.STRING,
        allowNull: false
    },
    password: {
        type: DataTypes.STRING,
        allowNull: false
    },
  });

    return Users;
};

当前,当我拨打获取信息的电话时,我会获取
user\u name
作为字段的名称。我想知道是否可以返回
用户名
,而不使用下划线而不是实际的字段名。换句话说,一个别名。我只是举个例子,但总的来说,我想知道如何在任何领域都能做到这一点。任何帮助都将不胜感激。

这最终对我有效

username: {
  type: new DataTypes.VIRTUAL(DataTypes.STRING, ['user_name']),
  get: function () {
    return this.get('user_name');
 }
}
username: { 
  type: DataTypes.STRING, 
  field: 'user_name', 
  allowNull: false 
}

现在输出的是
username
,而不是实际的字段名
user\u name

,就像ORM用户一样,我认为您在执行SELECT语句时会这样做,比如在
SELECT*中,用户名作为username
,而不是在模型定义中。很明显,在你的例子中使用了Sequelize语法,但我希望它能说明问题。我完全明白你的意思。我知道在一些字段的情况下,我可以在调用中专门设置别名<代码>Users.findAll({属性:['user_name','username']//'user_name AS username})我想我只是好奇它是否可以在模型中设置,所以如果我进行其他调用或有很多字段,我可以节省时间。我现在看到我的set函数没有被调用,尝试使用console.log字符串和您的示例进行调试,但它从未被调用。在模型中是否需要一些东西才能调用set()?我是否会以这种方式而不是以上面的方式在模型中构建字段?我认为这些字段必须与我在CRUDjust中使用的数据库表中的字段完全相同。请在您的用户名字段下添加此字段。这不会在数据库中构建任何内容,只是一个虚拟getter字段,它由
user\u name
组成。