草庐IT

Sequelize

全部标签

node.js - 如何在 Sequelize.js 中使用数据库连接池

我需要澄清一下池是什么以及它的作用。文档说Sequelize将在初始化时设置一个连接池,因此理想情况下,您应该只为每个数据库创建一个实例。varsequelize=newSequelize('database','username','password',{host:'localhost',dialect:'mysql'|'mariadb'|'sqlite'|'postgres'|'mssql',pool:{max:5,min:0,idle:10000},//SQLiteonlystorage:'path/to/database.sqlite'}); 最佳答

javascript - 在 Sequelize 的事务中使用循环和 promise

我目前正在构建一个Nodejs、Express、Sequelize(w.PostgreSQL)应用程序,并且在将Promise与事务和循环一起使用时遇到了一些问题。我正在尝试弄清楚如何在事务中使用for循环。我正在尝试遍历成员列表并在数据库中为每个成员创建一个新用户。我知道下面的代码是错误的,但它显示了我正在尝试做的事情。谁能指出我正确的方向?varmembers=req.body.members;models.sequelize.transaction(function(t){for(vari=0;i 最佳答案 你应该使用Prom

node.js - sequelize "findbyid"不是一个函数,但显然 "findAll"是

我在使用sequelize时遇到了一个非常奇怪的问题,当我尝试调用函数findAll时它工作正常(创建和销毁相同),但是当我尝试调用函数“findById”时,它会抛出“findByIdisnota函数”(与“FindOne”相同)。//worksfinevargammes=models.gamme.findAll().then(function(gammes){res.render('admin/gammes/gestion_gamme',{layout:'admin/layouts/structure',gammes:gammes,js:"gammes"});});//throws

node.js - 仅从 Sequelize ORM 中获取 dataValues

我正在使用sequelizeORM从PSQLDB中获取数据。但是,当我检索某些东西时,会给出一大堆数据。我想要的唯一数据在“dataValues”内。当然,我可以使用object.dataValues。但是,还有其他好的解决方案吗?我正在使用Sequelize4.10 最佳答案 是的,你可以Model.findAll({raw:true,//Otherparameters});将只返回数据而不是模型实例 关于node.js-仅从SequelizeORM中获取dataValues,我们在S

mysql - 在 MySQL 中使用 sequelize 自动递增 id

我在NodeJS中有以下模型,带有sequelize和MySQL数据库:varSequelize=require('sequelize');varUser=sequelize.define('user',{id:{type:Sequelize.INTEGER,autoIncrement:true,primaryKey:true},...};我正在尝试使用以下代码将新用户添加到我的数据库中:sequelize.transaction().then(function(t){User.create({/*Userdatawithoutid*/},{transaction:t}).then(f

javascript - Sequelize 如何查找具有多个 where 子句和时间戳的行 > NOW()

如何使用Sequelize做到这一点?SELECTFROMsessionsWHEREuser_id=?ANDtoken=?ANDexpires>NOW()这是我想要做的(假设Session是一个Sequelize模型):Session.find({where:{user_id:someNumber,token:someString,//expires>NOW()(howdoIdothis?)}}).on('success',function(s){/*thingsandstuff*/});谢谢! 最佳答案 您是否尝试在sequeli

javascript - 在 Sequelize.js 中使用动态搜索参数

我正在尝试关注Sequelizetutorialontheirwebsite.我已经到了下面这行代码。Project.findAll({where:["id>?",25]}).success(function(projects){//projectswillbeanarrayofProjectshavingagreateridthan25})如果我如下稍微调整一下Project.findAll({where:["titlelike'%awe%'"]}).success(function(projects){for(vari=0;i一切正常。但是,当我尝试使搜索参数动态如下时Projec

javascript - 在 Sequelize 中使用实例方法

谁能帮我理解如何在Sequelize中使用实例方法?我已经查看了文档,但发现它很少。目前,我正在尝试在我的用户模型上使用setPassword和verifyPassword实例方法。当我尝试在REPL中调用代码时,在导入用户模型并同步数据库后,我得到以下信息:>models.User.setPassword('test');TypeError:Object[objectObject]hasnomethod'setPassword'这是用户模型的代码:varbcrypt=require('bcrypt');module.exports=function(sequelize,DataTyp

mysql - 如何防止nodejs中的sql注入(inject)和 Sequelize ?

关闭。这个问题需要更多focused.它目前不接受答案。想要改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭6年前。Improvethisquestion我想使用Sequelize编写自定义查询,并尽可能避免SQL注入(inject)的潜在问题。因此,我的问题是,是否存在使用Sequelize使用插入变量编写自定义查询的安全方法? 最佳答案 Sequelize转义替换,从而避免了SQL注入(inject)攻击的核心问题:未转义的字符串。它还支持在使用SQLite或PostgreSQL时绑定(bind)

node.js - 如何在 Sequelize ORM 中插入 PostGIS GEOMETRY 点?

我正在尝试在Sequelize.jsORM中具有几何列的表中插入一行。我有纬度、经度和高度,需要先将其转换为一个点,以便将其作为几何图形插入。进行转换的PostGIS存储过程是ST_MakePoint(longitude,latitude,altitude)要插入一行,我正在使用sequelizemodel.create函数models.Data.create({location:"ST_MakePoint("+request.params.lon+","+request.params.lat+","+request.params.alt+")",//PSUEDOcode,Howcan