jjzjj

sequelize

全部标签

mysql - 无法更新的 Sequelize 列

是否可以使用Sequelize在MySQL表上创建一个可以在创建新行时初始化但永远不会更新的列?例如,REST服务允许用户更新他的个人资料。他可以更改除他的id之外的任何字段。我可以从API路由的请求中删除id,但这有点多余,因为有许多不同的模型表现相似。理想情况下,我希望能够在Sequelize中定义一个约束,以防止将id列设置为DEFAULT以外的任何内容。目前,我正在为id使用setterMethod来手动抛出一个ValidationError,但这看起来很老套,所以我想知道如果有更清洁的方法来做到这一点。更糟糕的是,这个实现仍然允许在创建新记录时设置id,但我不知道解决这个问题

mysql - Sequelize 地理空间查询 : find "n" closest points to a location

使用Sequelize和地理空间查询,如果我想找到离某个位置最近的“n”个点,Sequelize查询应该如何?假设我有一个看起来像这样的模型:sequelize.define('Point',{geo:DataTypes.GEOMETRY('POINT')});现在假设我们通过类似的方式在数据库中输入100个随机点:db.Point.create({geo:{type:'Point',coordinates:[randomLng,randomLat]}});假设我们有一个lat和lng变量来定义一个位置,我们想要找到离它最近的10个点。当我运行此查询时出现错误:constlocatio

学会Sequelize,让你操作数据更丝滑!

本文来介绍Sequelize,一个基于Node.js的ORM(对象关系映射)工具,并详细介绍其用法。Sequelize用于在应用中使用JavaScript来操作关系型数据库,例如MySQL、PostgreSQL等。本文内容较多,可作为 Sequelize的参考手册来阅读。开始使用核心概念Sequelize是一个基于JavaScript的ORM(对象关系映射)库,用于在Node.js环境中与数据库进行交互。它提供了一种方便、灵活的方式来管理数据库,并将数据库表映射为对象,使开发人员可以使用面向对象的编程风格来操作数据库。ORM(对象关系映射)是一种编程技术,用于通过将对象和数据库表之间建立映射关

mysql - 多个表上的 sequelize 查询中的竞争条件

问题:我正在开展一个项目,该项目由多项研究和一组用户组成,每个用户都参与其中一项研究。每项研究都根据使用某种随机化算法生成的列表将参与者分为两组。注册后,每个用户都会被分配到一个研究中,他们的组由注册顺序和组列表中的相应索引决定。例如,如果学习A总座位数4和组列表是[0,1,1,0]第一个用户被分配到组0,第二个到1依此类推,直到书房已满。项目中还定义了其他用户角色,即管理员,可以分配给多个研究,而无需在研究中占据一席之地。这意味着用户与研究的关系是n:m.当前实现中出现的问题是将用户分配给研究和研究组时的竞争条件。下面提供了代码,它的工作方式是覆盖addUser的Study模型,每当

mysql - 多个表上的 sequelize 查询中的竞争条件

问题:我正在开展一个项目,该项目由多项研究和一组用户组成,每个用户都参与其中一项研究。每项研究都根据使用某种随机化算法生成的列表将参与者分为两组。注册后,每个用户都会被分配到一个研究中,他们的组由注册顺序和组列表中的相应索引决定。例如,如果学习A总座位数4和组列表是[0,1,1,0]第一个用户被分配到组0,第二个到1依此类推,直到书房已满。项目中还定义了其他用户角色,即管理员,可以分配给多个研究,而无需在研究中占据一席之地。这意味着用户与研究的关系是n:m.当前实现中出现的问题是将用户分配给研究和研究组时的竞争条件。下面提供了代码,它的工作方式是覆盖addUser的Study模型,每当

node.js - 在 Node/Express 中进行 Sequelize - 'no such table: main.User` 错误

我正在尝试使用Sequelize构建一个简单的Node/Express应用程序,但是当我尝试在我的关系数据库中创建新记录时,出现错误UnhandledrejectionSequelizeDatabaseError:SQLITE_ERROR:nosuchtable:main.User.基本上,我在Users表中创建一个用户,然后尝试在Addresses表中创建一个相关地址-用户已成功创建,但在创建时失败并出现此错误地址...它从哪里获取表名中的main前缀?(下面的完整错误读数)...首先,这是我的程序的概要...我的Sequelize版本是Sequelize[Node:6.8.1,CL

node.js - 在 Node/Express 中进行 Sequelize - 'no such table: main.User` 错误

我正在尝试使用Sequelize构建一个简单的Node/Express应用程序,但是当我尝试在我的关系数据库中创建新记录时,出现错误UnhandledrejectionSequelizeDatabaseError:SQLITE_ERROR:nosuchtable:main.User.基本上,我在Users表中创建一个用户,然后尝试在Addresses表中创建一个相关地址-用户已成功创建,但在创建时失败并出现此错误地址...它从哪里获取表名中的main前缀?(下面的完整错误读数)...首先,这是我的程序的概要...我的Sequelize版本是Sequelize[Node:6.8.1,CL

sql - ON DELETE CASCADE for multiple foreign keys with Sequelize

假设我有三个模型:任务:需要完成的事情,例如“取出回收物”。可以做很多次。TaskList:表示任务列表的对象,并具有自己的元数据。TaskListEntry:Task和TaskList之间的关联,可能包含优先级或分配给它的人员等数据。我的关联设置如下:Task.hasMany(TaskListEntry,{onDelete:'cascade',hooks:true}));TaskList.hasMany(TaskListEntry,{onDelete:'cascade',hooks:true});TaskListEntry.belongsTo(TaskList);TaskListEn

sql - ON DELETE CASCADE for multiple foreign keys with Sequelize

假设我有三个模型:任务:需要完成的事情,例如“取出回收物”。可以做很多次。TaskList:表示任务列表的对象,并具有自己的元数据。TaskListEntry:Task和TaskList之间的关联,可能包含优先级或分配给它的人员等数据。我的关联设置如下:Task.hasMany(TaskListEntry,{onDelete:'cascade',hooks:true}));TaskList.hasMany(TaskListEntry,{onDelete:'cascade',hooks:true});TaskListEntry.belongsTo(TaskList);TaskListEn

javascript - Sequelize - 更新记录,并返回结果

我在MySQL中使用sequelize。例如,如果我这样做:models.People.update({OwnerId:peopleInfo.newuser},{where:{id:peopleInfo.scenario.id}}).then(function(result){response(result).code(200);}).catch(function(err){request.server.log(['error'],err.stack);).code(200);});无论人员模型是否成功更新,我都不会收到返回信息。可变结果只是一个只有一个元素的数组,0=1我如何确定记录