我使用了sequelize ORM從PSQL數據庫獲取數據。但是,當我檢索某些內容時,會給出一大堆數據。我想要的唯一數據就是'dataValues'內部。當然,我可以使用object.dataValues。但是,還有其他什麼好的解決方案嗎?從Sequelize ORM獲取數據值
我使用Sequelize 4.10
我使用了sequelize ORM從PSQL數據庫獲取數據。但是,當我檢索某些內容時,會給出一大堆數據。我想要的唯一數據就是'dataValues'內部。當然,我可以使用object.dataValues。但是,還有其他什麼好的解決方案嗎?從Sequelize ORM獲取數據值
我使用Sequelize 4.10
只發生問題當我登錄使用:
console.log(Model.findAll());
如果我把它保存到一個變量,我可以直接訪問對象中沒有使用「dataValues」
是的,你可以
Model.findAll({
raw: true,
//Other parameters
});
將只返回數據,而不是模型實例
我可以將它應用於全局的所有查詢嗎? –
您可以在創建連接時定義它。類似於 'const sequelize = new Sequelize('connectionUri',{ define:{ raw:true } });'。 從文檔[此處](http://docs.sequelizejs.com/manual/installation/getting-started.html#application-wide-model-options) – Shivam
Sequelize包裝中包含元數據的虛擬對象的所有它的返回值。如果你有一個對象,你只想未加裝飾的數據值,就可以解開他們像這樣:
Model.findById(1).then(data => {
console.log(data.get({ plain: true }));
});
此外,如果你只是想打印出來就可以使用.toJSON
方法的對象。
Model.findById(1).then(data => {
console.log(data.toJSON);
});
不,我需要表中的所有列。但爲了訪問,我必須使用object.dataValues –