作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的项目中,我想搜索许多地铁都有某个关键字。
所以,我在 Sequelize 中使用了 Op ,但它返回了 TypeError: Cannot read property 'like' of undefined
。
我初始化sequelize对象的方式如下。
// root/models/index.js
const Sequelize = require('sequelize');
const env = process.env.NODE_ENV || 'development';
const config = require(__dirname + '/../config/config.json')[env];
const db = {};
const sequelize = new Sequelize(config.database, config.username, config.password, config);
db.sequelize = sequelize;
module.exports = db;
而且,我像这样初始化并使用了 Op 对象
const { Subway } = require("../../models");
const sequelize = require("../../models").sequelize;
const Op = sequelize.Op;
const list = await Subway.findAll({
where: {
station_name_kr: {
[Op.like]: '%' + req.params.filter + '%',
},
},
attributes: [
'idx',
'station_line',
'station_name_kr'
],
});
但它没有用......
// models/subway.js
const Sequelize = require('sequelize');
module.exports = class Subway extends Sequelize.Model {
static init(sequelize){
return super.init({
idx: {
type: Sequelize.INTEGER,
primaryKey: true,
autoIncrement: true
},
station_code: {
type: Sequelize.CHAR(20),
},
station_name_kr: {
type: Sequelize.CHAR(20),
allowNull: false,
},
station_name_en: {
type: Sequelize.CHAR(30),
},
station_line: {
type: Sequelize.CHAR(10),
},
outside_code: {
type: Sequelize.CHAR(10),
},
}, {
sequelize,
timestamps: true,
underscored: true,
paranoid: true,
modelName: 'subway',
tableName: 'Subway',
charset: 'utf8',
collate: 'utf8_general_ci',
});
}
};
最佳答案
您的代码中的问题是您误解了两件事。
第一:
S 从需要的库中均衡对象。
第二个:
s 从“实例化” S 均衡对象的连接。
注意大写和小写 ( s )( S ) 均衡,因为它们代表两个不同的对象。
下面您要做的是访问连接并从那里访问 Operator (Op) 属性。这是行不通的。 连接 的 Sequelize 没有 有它。
const sequelize = require("../../models").sequelize;
const Op = sequelize.Op;
为了能够访问,您应该执行以下操作:
const Sequelize = require('sequelize');
const Op = sequelize.Op;
这就是为什么您的答案“有效”的原因。但这个答案并不是它起作用的原因。
关于node.js - Sequelize OP -> TypeError : Cannot read property 'like' of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66960935/
我是一名优秀的程序员,十分优秀!