gpt4 book ai didi

javascript - 无法通过 Node.js 中的 Sequelize 从数据库中选择数据

转载 作者:行者123 更新时间:2023-12-03 22:42:28 25 4
gpt4 key购买 nike

为什么下面的代码给我一个错误?

var Sequelize = require('sequelize');
var sequelize = new Sequelize('schema', 'root', '');
var Foo = sequelize.define('Foo', {
name: Sequelize.STRING
});
sequelize.sync().then(function() {
Foo.create({
name: 'some name'
}).then(function() {
Foo.findAll({ where: { name: { $like: '%s%' } } }).then(function(result) {
console.log(result.rows.length);
});
});
});

输出
Executing (default): SELECT `id`, `name`, `createdAt`, `updatedAt` FROM `Foos` AS `Foo` WHERE `Foo`.`name` LIKE '%s%';
Unhandled rejection TypeError: Cannot read property 'length' of undefined
at null.<anonymous> (E:\work\projects\src\preorders\server.js:13:30)
at tryCatcher (E:\work\projects\src\preorders\node_modules\sequelize\node_modules\bluebird\js\main\util.js:26:23)
at Promise._settlePromiseFromHandler (E:\work\projects\src\preorders\node_modules\sequelize\node_modules\bluebird\js\main\promise.js:507:31)
at Promise._settlePromiseAt (E:\work\projects\src\preorders\node_modules\sequelize\node_modules\bluebird\js\main\promise.js:581:18)
at Promise._settlePromises (E:\work\projects\src\preorders\node_modules\sequelize\node_modules\bluebird\js\main\promise.js:697:14)
at Async._drainQueue (E:\work\projects\src\preorders\node_modules\sequelize\node_modules\bluebird\js\main\async.js:123:16)
at Async._drainQueues (E:\work\projects\src\preorders\node_modules\sequelize\node_modules\bluebird\js\main\async.js:133:10)
at Async.drainQueues (E:\work\projects\src\preorders\node_modules\sequelize\node_modules\bluebird\js\main\async.js:15:14)
at process._tickCallback (node.js:419:13)

这是我的 package.json 文件中的“依赖项”选项:
  "dependencies": {
"mysql": "^2.9.0",
"sequelize": "^3.13.0"
}

最佳答案

回调中的变量 result 应该已经是一个结果数组,而不是一些包含行的对象。将其更改为这样应该可以获得行数:

Foo.findAll({ where: { name: { $like: '%s%' } } }).then(function(result) {
console.log(result.length);
});

转储所有数据以查看它是否确实是您想要的数据。

关于javascript - 无法通过 Node.js 中的 Sequelize 从数据库中选择数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33736375/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com