2017-11-10 1 views
0

Sequelizeを使用して、従来のmysqlデータベースからデータを取得しています。テーブル内のカラムの1つがブロブであるため、sequelizeはバッファを返します。復帰BLOBをテキストとして続ける

Sequelizeを使用してBLOBをテキストまたは文字列として返すことはできますか?または、オブジェクトの配列をループして変換する必要がありますか?

ありがとうございました!

同様のコード:

await findAll({ 
    where: { 
    date: { $gte: sevenDaysAgo }, 
    newsSource: sourceList, 
    }, 
    order: ['date'], 
    raw: true, 
}); 

答えて

0

私はあなたがこのためにsequelizeゲッターを使用することができると信じています。バッファのサイズによっては、これは非常に悪い考えかもしれません。

const Employee = sequelize.define('employee', { 
    picture: { 
     type: Sequelize.BLOB, 
     allowNull: false, 
     get() { 
     return this.getDataValue('picture').toString('utf8'); // or whatever encoding is right 
     }, 
    }, 

    }); 

hereから変更された。

+0

rawオプションがtrueに設定されているときにこれを行う方法はありますか? –

+0

私はそれがdataValuesを解決するので、答えを受け入れるつもりです。しかし、より良い答えは、未処理のjsonオブジェクトを後処理で処理する方法がある場合です。それがサポートされているかどうかわからない –

関連する問題