我使用了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 –