【问题标题】:Limiting and Aliasing fields returned using Sequelize使用 Sequelize 返回的限制和别名字段
【发布时间】:2015-11-05 13:03:44
【问题描述】:

我有一个现有的 WP 数据库,我正在尝试利用它来创建一个使用 node 和 sequelize 的 API。我想限制查询中返回的字段,因为 WP 添加了大量我不想在 API 中显示的字段。据我了解,当我定义模型时,我使用的字段应该是唯一返回的字段。不过,创建的查询似乎只是使用“*”。此外,字段名称的别名似乎也没有发生。下面是我的模型。

module.exports = function(sequelize, DataTypes) {
var Campground = sequelize.define('Campground', {
    ID: {
        type: DataTypes.INTEGER,
        primaryKey: true
    },
    Name: {
        type: DataTypes.STRING,
        field: 'post_title'
    },
    Description: {
        type: DataTypes.TEXT,
        field: 'post_content'
    }
}, {
    tableName: 'wp_posts',
    timestamps: false,
    defaultScope: {
        where: {
            post_type: 'campgrounds'
        }
    },
    classMethods: {
        associate: function(models) {
            Campground.hasMany(models.Meta, {
                as: 'Park_Info',
                foreignKey: 'post_id'
            })
            Campground.hasOne(models.Locator, {
                foreignKey: 'post_id'
            })
        }
    }
})

return Campground
}

【问题讨论】:

  • 你用的是什么版本? field 支持可能仅存在于 2.0 中。至于被选中的字段,默认总是 * 除非你在 find/findAll 上使用attributes 选项。

标签: node.js sequelize.js


【解决方案1】:

@MickHansen 的评论是我正在寻找的答案。见http://docs.sequelizejs.com/en/latest/api/model/#findall

【讨论】:

  • 链接好像坏了,请验证一下
猜你喜欢
  • 2019-02-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-15
  • 2022-07-12
  • 1970-01-01
相关资源
最近更新 更多