草庐IT

Sequelize

全部标签

javascript - 使用 Mocha 和 Sequelize 测试模型

我想在mysql数据库上测试CRUD操作,使用Sequelize作为ORM和Mocha/Chai进行单元测试。我使用http路由测试了记录的插入/删除,但我会直接测试模型而不使用任何http连接。我尝试这样做,但是当我启动测试时,没有添加记录并且我没有收到任何错误。app/model/article.jsmodule.exports=function(sequelize,DataTypes){varArticle=sequelize.define('Article',{title:DataTypes.STRING,url:DataTypes.STRING,text:DataTypes.

mysql - 如何使用 sequelize 做表别名?

我需要做这样的事情。您可以在列名称前放置别名的位置。哦。C。等等SELECTo.OrderID,o.OrderDate,c.CustomerNameFROM...这是我试图在sequelize中复制的整个查询SELECTc.idAScomment_id,c.comment,r.idASreply_id,r.parent_comment_id,r.commentASreply_commentFROM(commentsc)LEFTJOINcommentsrONc.id=r.parent_comment_id我尝试过的attributes:['c.id',['comment_id'],'c.

javascript - 尝试在查询生成器中添加关联时无法读取未定义的属性 'source'。在 Sequelize ORM 中选择查询

我正在尝试使用QueryGenerator.selectQuery生成查询。letquery=models.sequelize.dialect.QueryGenerator.selectQuery('table',{include:[{model:models.Users,where:{deleted:false},required:true,attributes:['id']}],where:{createdAt:{[Op.between]:[o.start,o.end]},deleted:false},attributes:[[models.sequelize.fn("COUNT"

mysql - Sequelize 仅选择选定的属性

我使用的是MySQL数据库,当我在做的时候:models.modelA.findAll({attributes:[['modelA.id','id']],raw:true,include:[{model:models.modelB,required:true}]}).then(function(tenants){});尽管我只选择了id,Sequelize也在从相关表中检索所有属性,所以我得到了{id,...所有属性这里}。我该如何防止这种情况发生?有时我只想选择2/3列,而Sequelize总是选择所有这些列,但效率不高。 最佳答案

mysql - 如何在 sequelize 的同一查询中使用 AND 和 OR 运算符?

我执行了下面的查询但是我给出了错误。我想要最后发布的SQL查询的结果。userServiceAppointmentModel.findAll({where:{technician_id:resultsFromAuthentication.technician_id,is_confirmed_by_user:1,$or:{service_start_time:{gte:curLocalDate},service_running_status:1}},attributes:attributes}).complete(function(err,appointmentResponse){if(

mysql - 为什么 Node.js 中的 Sequelize.js 总是从 MySQL 位字段返回 true?

我有一个Node.JsExpress应用程序,我正在使用Sequelize.jsOR/M查询MySQL5.6数据库。我有一个名为homes的表,其中包含几个位字段(其中一个称为isrental,我在模型中将其定义为bool值。查询数据库时,即使我在记录中存储了0,这些字段也始终返回true.这是一个简单的代码示例:varSequelize=require('sequelize-mysql').sequelize;varorm=newSequelize('mysql://procHOAPro:password@NewMasterBedRm/HOAPro'),{dialect:'mysql

javascript - Node.js 的 Sequelize.js 可以定义主键未命名为 'id' 的表吗?

我有一个名为things的简单MySQL表。我的things表有三列:ColumnNameDataType=======================thing_idINT//TheautoincrementPrimaryKeything_nameVARCHAR(255)thing_sizeINT据我所知,Sequelize.js期望/要求将主键命名为“id”。有没有办法使用标准的sequelize.define()调用来定义我的things表?如果不行,还有别的办法吗? 最佳答案 尝试varTest=sequelize.defi

mysql - 如何从 sequelize 中的多级关联中获取结果?

我有3个模型国家、城市和办公室它们是相互关联的。办公室属于城市,城市属于国家。现在我想要做的是获得特定国家/地区内的办公室。我在下面尝试过,但它不起作用。Office.findAll({where:{'$Country.id$':1},include:[{model:City,as:'city',include:[{model:Country,as:'country'}]}]});国家module.exports=(sequelize,DataTypes)=>{letCountry=sequelize.define('Country',{id:{type:DataTypes.INTEG

mysql - 使用 MYSQL : Raw query returns a "duplicate" result 进行 Sequelize

我有这个执行原始查询的方法:Friendship.getFriends=async(userId)=>{constresult=awaitsequelize.query(`selectid,emailfromuserswhereusers.idin(SELECTfriendIdFROMfriendshipswherefriendships.userId=${userId})`);returnresult;};结果似乎包含完全相同的数据,但是两次:[[TextRow{id:6,email:'example3@gmail.com'},TextRow{id:1,email:'yoyo@gma

mysql - 在 Sequelize 中创建包含与 hasOne 关联的行

我正在为Node.js测试不同的ORM,但遇到了这个错误:PossiblyunhandledTypeError:undefinedisnotafunction@person.setUser(user);尝试了person.setUsers、user.setPerson和user.setPeople。还尝试通过console.log找到函数,但没有成功。我做错了什么?varconfig=require('./config.json');varSequelize=require('sequelize');varsequelize=newSequelize(config.connection