【发布时间】: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