Bra*_*don 3 node.js express sequelize.js
我正在使用Sequelize在Express上构建一个安静的API.我的mysql表中有一个Blob字段,但在get响应中它返回一个Buffer对象.我应该如何返回任何响应数据属性的字符串值,这些属性是Buffer对象?
我将使用PHP来使用此API,但我正在使用Postman来测试它.
这是我的模型定义的样子:
module.exports = function (sequelize, DataTypes) {
return sequelize.define('submissions', {
comments: {
type: DataTypes.BLOB,
allowNull: true,
defaultValue: ''
},
// Other fields...
}, {tableName: 'submission', timestamps: false});
};
Run Code Online (Sandbox Code Playgroud)
这是我的一条路线的例子:
router.get('/:model', function(req, res) {
var where = req.query;
models[req.params.model].findAll({ where: where}).then(function(results){
var status = models.utils._.isNull(results) ? 404 : 200;
res.status(status).json(results);
});
});
Run Code Online (Sandbox Code Playgroud)
如果你的blob数据被编码为utf8字符串,你可以简单地这样做:
buffer.toString('utf8')
Run Code Online (Sandbox Code Playgroud)
但是如果你要返回字符串数据,我想知道为什么你不会简单地将字段存储为Sequelize.STRING.如果comments是结构化数据,您可以考虑定义单独的Comment模型.如果您正在使用Postgres,您还可以选择定义comments为数组或json.
| 归档时间: |
|
| 查看次数: |
4523 次 |
| 最近记录: |