用Sequelizejs检索多行
我开始学习SequelizeJs,但是我遇到了一个小问题:我有一个定义如下的模型:
var ex_table= sequelize.define("ex_table", { concept1: Sequelize.STRING(5), concept2: Sequelize.STRING(80), concept3: Sequelize.STRING, weight: Sequelize.INTEGER, value: Sequelize.DECIMAL(20,2) }, { tableName: "samble_table"});
从表格中检索单行,我这样做:
ex_table .find({where: Sequelize.and({weight: 320193}, {concept1: 'AGLOK'}, {concept2: 'lambda'}, {concept2: 'Industry Group'})}) .complete(function (err, result) { if (!!err) { console.log("An error occurred while creating the table:", err); } else { console.log(result.values); } })
这给我一行数据,这是预期的。 但是,当我试图像这样检索多行:
ex_table .findAll({where: Sequelize.and({weight: 320193}, {concept1: 'AGLOK'}, {concept2: 'lambda'}, {concept2: 'Industry Group'})}) .complete(function (err, result) { if (!!err) { console.log("An error occurred while creating the table:", err); } else { console.log(result.values); } })
这里我得到underfined,任何想法如何获得多行?
我发现,至less有两种方法可以获得所有的行:正如@ barry-johnson所说的,结果是一个数组,所以我们像其他数组一样遍历数组:
ex_table .findAll({where: Sequelize.and({weight: 320193}, {concept1: 'AGLOK'}, {concept2: 'lambda'}, {concept2: 'Industry Group'})}) .complete(function (err, result) { if (!!err) { console.log("An error occurred while creating the table:", err); } else { for (var i=0; i<result.length; i++) { console.log(result[i].values); } } })
或者在Sequelize文档的Models部分的原始查询中有这样一行有趣的内容:
有时你可能会期待一个你想要显示的大数据集,而不需要操纵。 对于您select的每一行,Sequelize创build一个DAO,并具有更新,删除,获取关联等function。如果您有成千上万的行,则可能需要一些时间。 如果你只需要原始数据而不想更新任何东西,你可以这样做来获取原始数据。
正如我想看到的原始数据,这是我们需要的,所以我们可以得到这样的多行:
ex_table .findAll({where: Sequelize.and({weight: 320193}, {concept1: 'AGLOK'}, {concept2: 'lambda'}, {concept2: 'Industry Group'})}, {raw:true}) .complete(function (err, result) { if (!!err) { console.log("An error occurred while creating the table:", err); } else { console.log(result); } })
希望这会帮助别人。
- ForEach循环内asynchronous/等待节点Postgres查询
- Node – 使用node-postgres设置Postgres驱动程序
- 错误关系不存在
- 如何通过客户端库(Postgres)在SQL查询中传递元组(不是数组)作为WHERE约束参数?
- 如何在服务器中使用node-postgres?
- webpack与node-postgres导入错误('pg'.Client)
- 使用node-postgres将文件存储在postgres中
- 什么样的对象是node-postgres错误? 为什么node的console.log和JSON.stringify以不同的方式处理它?
- Postgres:无法从NodeJS(PG)连接到md5