草庐IT

Sequelize

全部标签

node.js - 在 Sequelize 中预保存钩子(Hook)和实例方法?

Sequelize.js?中是否有预保存Hook和实例方法?具体来说,我需要把这个Mongoose代码转换成等效的Sequelize代码:架构varuserSchema=newmongoose.Schema({username:{type:String,unique:true},email:{type:String,unique:true},password:String,token:String});预存userSchema.pre('save',function(next){varuser=this;varhashContent=user.username+user.passwor

node.js - Sequelize hasMany 加入关联

我正在扩展我的应用程序,我需要加入我之前使用Sequelize创建的两个模型,它们如下:用餐sequelize.define('meal',{mealId:{type:DataTypes.INTEGER,primaryKey:true,autoIncrement:true},quantity:{type:DataTypes.DECIMAL,allowNull:false},period:{type:DataTypes.INTEGER,allowNull:false}})食物sequelize.define('food',{idFood:{type:DataTypes.INTEGER,p

node.js - 无法使 Sequelize 验证工作

我正在尝试在我的Sequelize模型中实现验证。模型定义如下varmodel=sequelize.define('Model',{from:{type:DataTypes.STRING,allowNull:false,validate:{isEmail:true}}}然后我正在尝试构建一个实例并对其进行验证:varm=Model.build({from:'obviouslynotaemail'});varerr=m.validate();但如果我执行console.log(err),我只会得到{fct:[Function]}。定义引发异常的自定义验证器会导致未处理的异常。我应该如何正

node.js - 在 sequelize.js 中禁用 updatedAt(更新日期)字段

我使用sequelize-auto生成架构,我尝试使用findOne()并收到此错误:UnhandledrejectionSequelizeDatabaseError:Invalidcolumnname'updatedAt'.在我的数据库表中没有字段updatedAt例如我的表名是Users我的代码是Users.findOne(),而中没有updatedAt字段用户表。db.users=sequelize.import(__dirname+"/models/users");app.get('/users',function(req,res){db.user.findOne().then

node.js - Sequelize.op 未定义

我正在使用Node.js的sequelize。我正在尝试使用Sequelize.op请求。但它不起作用,这是我的代码:varSequelize=require('sequelize');constOp=Sequelize.Op;constoperatorsAliases={$eq:Op.eq}这是Node控制台中的错误:你有什么想法吗?谢谢 最佳答案 目前的最新版本:4.22.2models/user.js:constSequelize=require('sequelize');constop=Sequelize.Op;consto

javascript - 如何在 Sequelize.js 中撤消软删除

我在我的node.js项目中以偏执模式使用Sequelize.js,虽然软删除在查找和删除数据时按预期工作,但我无法找到一种方法来取消删除软删除的行。我知道我可以按照docs中的说明使用删除行Model.findAll({paranoid:false,where:{deletedAt:{ne:null}}})但是paranoid:false在updating时不可用.在Sequelize中是否可以取消删除软删除的行,还是我只是遗漏了什么? 最佳答案 使用{paranoid:false}选项获取您的对象,即。varmodel=Mode

node.js - Sequelize 关系为空

我对Sequelize有疑问。这是我想要做的:returnpointsTransaction.findAndCountAll({where:{user_id:userId},limit:opts.limit,offset:opts.offset,include:[{model:sequelize.models.pointsPendingtransaction}]});生成的查询如下所示:SELECT"pointsTransaction".*,"pointsPendingtransactions"."transaction_ptr_id"AS"pointsPendingtransacti

javascript - 如何将 NodeJS Sequelize 中的 DateTime 传递给 MSSQL

我有一个NodeJS项目,我正在尝试使用Sequelize传递一个“UpdateDate”字段。我收到错误“从字符串转换日期和/或时间时转换失败”。我尝试过传递一些不同的东西:Date.now()newDate().toISOString()都不行。我错过了一些简单的东西吗?我无法更改表上的列定义。据我所知,将诸如“2016-05-2310:39:21.000”之类的字符串传递给SQLDateTime字段在SSMS中有效,但在使用Sequelize和Node.js时似乎是一个问题。谢谢扎克 最佳答案 这是由knownissue引起的

node.js - Sequelize,外键作为复合主键

可以定义两个外键作为模型的复合主键吗?一个用户只能是一个家庭的成员,一个家庭可以有多个成员,family-members表需要用户和家庭的引用constUser=sequelize.define('User',{id:{type:dataTypes.INTEGER.UNSIGNED,autoIncrement:true,primaryKey:true},name:{type:dataTypes.STRING(30)},email:{type:dataTypes.STRING(30)}...},{classMethods:{associate(models){User.hasOne(mo

mysql - Sequelize : insert in bulk

我正在使用Node.js、MySQL和Sequelize。我想一次将大约10k行插入一个表中。该表具有自定义primaryKey字段,该字段是手动设置的。数据是从网上下载的,并且是重叠的。我想要一个bulkCreate版本,如果数据中的任何行具有表中已经存在的唯一键,它就不会失败。这种事情是在MySQL中通过INSERT...ONDUPLICATEKEYUPDATE构造完成的。我如何在Sequelize中做到这一点? 最佳答案 将选项对象传递给bulkCreate并将ignoreDuplicates设置为truebulkCreate