Sequelize.js 保存前计算值的续集

我想在保存模型之前计算差异(以小时为单位)。我曾经尝试过PreeUpdate(和其他钩子),但从未计算过字段。我也尝试过set:选项,但这也不起作用 我必须输入“开始时间”和“结束时间”字段。如果ended_at不为空,则计算差异并保存到字段小时数 我试过: hours: { type: DataTypes.DECIMAL(10,2), allowNull: true, set: function(){ var duration = 0;

Sequelize.js 如何在我的结果集中获得一个数字

我有一个模型设置,正在执行一个带有一些分组和不同计数的SQL查询。但是,sequelize将这些计数作为字符串返回。我如何将其作为数字返回,或者必须手动强制转换结果集 report_table.findAll({ attributes: [ [report_table.sequelize.fn("concat", report_table.sequelize.col("application"), report_table.sequelize.col("

Sequelize.js 在带有Sequelize的GraphQL突变中,我必须返回什么?

我正在尝试实现一个在后端使用Sequelize的GraphQL服务器(在后台使用MSSQL)。 我有一个查询,它可以像预期的那样完美地工作(从单个SQL表检索数据) 但是我为同一个模式设置了一个变异,当我在GraphiQL中运行变异时,我发现,虽然它确实执行了变异的resolve函数(即创建Sequelize模式的实例)中的内容,但它不会将我的对象返回给我 现在,我想这是因为我的Sequelize.create函数返回了一个承诺,而resolve无法处理这个问题 以下是到目前为止我得到的信息:

Sequelize.js Sequelize-在具有onDelete级联的实例上调用beforeDestroy钩子

我有一个涉及两个表(一对多)的场景,其中用户可以从第一个表(名称:document,relationship:one)中删除记录或记录数组,然后从第二个表(名称:file,relationship:many)中删除与该表关联的记录。“file”表上的onDelete层叠正在正常工作,但我的钩子从未触发 我是否需要调用.destroysequelize中的某个钩子 方法 因为我的关系是一对多,一个用户可以有多个 文件或一个文档的单个文件,是否需要为添加挂钩 销毁前和销毁前两者 这是两个表之间的

Sequelize.js self.\u expandAttributes不是一个函数

为什么它在控制台中显示错误??有什么不对吗?我对如何在sequelize中连接两个表感到困惑。在这里,我尝试连接两个表(ppv_计划和ppv_advance_内容)。请告诉我。您不需要将调用添加到.findAll(),model字段应该只是对关联模型的引用 引用:您不需要添加对.findAll()的调用,model字段应该只是对关联模型的引用 参考: ppvPlanDb.models.ppv_plans.findAll({ attributes: ['id',

Sequelize.js Sequelize AfterHook赢得';当对多对多关联使用set或add mixin时,不能调用

我正在使用sequelize verion()来保持对表的更新,它使用afterHook来保持创建、更新、销毁等的跟踪。它适用于普通表。然而,它似乎对关系表不起作用 我创建模型和多对多关系,如下所示 const ModelA = sequelize.define('tableA', { id: { type: Sequelize.INTEGER, primaryKey: true, autoIncrement: true }, dataA: { type: Sequelize.STRI

Sequelize.js 如何在sequelize中创建hasMany关联

我想在offerset表中添加offerzone表作为外键。使用sequelize和below模型是用angularjs编写的 module.exports = function(sequelize, DataTypes) { let offerzone = sequelize.define('offerzone', { title: DataTypes.STRING, moid: DataTypes.INTEGER, seoTandC: DataTypes.STRING, isActive:

Sequelize.js 如何使用sequelize设置动态where条件

我必须创建一个动态sequelize查询,它可以有1到3个条件,第一个是like查询,第二个是完全匹配的。用户可以选择任何组合。我似乎无法设置它的where条件以使其正常工作。在使用它之后,它工作了 我使用了typescript,所以如果不使用,请进行调整 let whereClause = {}; if (searchCriteria.documentName) { whereClause['documentName'] = { $like: '%' + searchCriter

Sequelize.js 如何在架构中定义分页参数?

我正在尝试创建通过数据分页的功能,但我不确定需要将分页变量放置在何处 以下是我的模式中的内容: const Query = new GraphQLObjectType({ name: 'Query', description: 'This is a root Query', fields: () => { return { allPosts: { type: new GraphQLList(Post), args: {

Sequelize.js 有没有办法将Op.like用作Sequelize中的第二个元素?

如果我想知道列是否以sequelize的字符串“myString”开头,我可以这样查询: ... where: { column: { [Op.like]: `${myString}%` } } 等效的SQL查询应该是:。。。其中像{myString}%这样的列 但是,我想知道变量是否以列中的值开头,反之亦然。等价的查询是:。。。其中{myString}类似concat(列“%”)的等价查询是:。。。其他列如concat(列“%”)在哪里? where: { column: {

Sequelize.js Sequelize:bulkUpdate和beforeValidate钩子

似乎sequelize bulkUpdate(使用“individualHooks:true”)会在bulkInsert数组中的一条记录的“beforeValidate”被拒绝(承诺返回“reject”并带有错误)时停止整个批量插入过程 即使对于传递到bulkInsert数组的其中一条记录,beforeValidate失败/被拒绝,是否可以继续执行行的bulkInsert

Sequelize.js 节点续集ORM联接表,而不从联接表加载记录

如何执行简单的内部联接而不急于在Sequelize中加载联接表的结果 下面的查询正确地联接了books表,并且只返回具有关联books记录的记录,太好了 不过,我不希望books表中的数据填充到数据集中 例如: 如果父模型是,例如:工具架。我想找到所有目前有任何书籍的书架…但我不想返回所有书籍数据,我只需要父书架记录 this.getModel().findAll( { include: [ { model: this.db.getModel('b

Sequelize.js 表';db.Sessions';不';不存在

我正在使用connect session sequelize并尝试将默认表覆盖到session var SequelizeStore = require('connect-session-sequelize')(session.Store); // session setting app.use(session({ secret: config.session.secret, resave: false, saveUninitialized: false, st

Sequelize.js Sequelize:如何在hasMany中反向查询?

我有以下型号: const Users = sequelize.define('User', {/* ... */}) const Articles = sequelize.define('Articles', {/* ... */}) 我认为他们之间的联系如下: Users.hasMany(Articles, { as: 'Post' }) 它在Articles表中添加了一个foreignKey“userId” 现在我可以通过用户模型在查询时快速加载文章,如下所示: Users.findO

Sequelize.js Sequelize查询包含和逻辑

我有三个表格:Article、Tag和ArticleTag。一篇文章可以有多个标签,一个标签可以通过ArticleTag属于多篇文章标记具有名称属性 我想查询所有带有标签tag1和(tag2或tag3)和(tag4或tag5)的文章。 以下查询不起作用 Article.findAll({ where: {}, include: [ { model: Tag, where: { [Op

Sequelize.js 像任何阵列续集一样

我正在尝试使用sequelize执行findall,在这里我使用$like 因为我需要用$like计算的字符串来自一个表单,并且在值或数字上发生了变化,所以我发送给sequelize一个数组 因此,我想对数组中的所有值使用$like 但是我还不能让它工作 var conditions =Array[String]; for (var element in req.query.HotelID) { console.log(req.query.HotelID[element])

Sequelize.js Sequelize:限制和排序急切加载的关联

我有四张桌子。用户、文件室、消息和联接表RoomUsers I want to write a query that: 1. Return a list of rooms 2. Each room with the last message sent 3. Rooms ordered by the message last sent 问题是我无法同时限制急切加载的嵌套关联和按嵌套关联排序 Users.hasMany(Messages) / Message.belongsTo(Users)

Sequelize.js 按特定值对订单进行续集

如何按列的特定值排序?在php雄辩版中,我正在做: […] ->orderByRaw(“字段(用户ID,123)描述”) [...] JS: [..] 订单:[ //这里有什么? //我不想: //['UserID','desc'] ], 如何对Sequelize进行同样的操作?似乎什么都不管用。您可以使用 或使用(相当于编写原始查询) 天哪!我是如此接近。非常感谢。 { // ... order: [ [sequelize.fn('FIELD', sequelize.co

Sequelize.js Sequelize:在ORDERBY和LIMIT的子查询中包含hasOne表

我有一个表游戏: hasOne(法庭) belongstomy(用户,{through:UsersGames}) 我想按Court.distance检索Game顺序,并有一定限制(英文:我想按距离Court和所有用户的距离检索最近的N场比赛) 以下操作不起作用,因为它对Game执行子查询,以执行按排序和限制 Court.findAll({ include: [User, Court], order: [["$Court.distance", "ASC&q

Sequelize.js 如何更新直通表中的属性?

在Sequelize.js中,如何通过表更新1-N或N-M关系中的属性?我试图查找文档,但找不到任何文档。如果用户属于多个项目,并且该项目有一个注册列,您可以执行以下操作 project.addUser(user, { enrolled: new Date() }); 如果已经设置了用户和项目之间的关系,那么这也应该起作用,在这种情况下,将更新联接表 文档位于末尾。是否有一种方法可以在模型实例的方法中实现这一点,如Project.update(…)或User.upsert(…)?我不确定您的意

以字符串形式获取sequelize.js生成的原始查询

我需要获取由findAll调用生成的sql查询,最好是同步(w/o promise)。它不是用于日志记录的,我也不希望它用于所有查询,只用于一个特定的查询,所以设置一个日志记录程序不会有帮助 如何做到这一点?您可以将特定的日志函数设置为单个查询。你可能可以同步地做任何你需要的事情 尝试以下方法: //sample log function function notOnlyALogger(msg){ console.log('hey, Im a single log'); //do w

Sequelize.js GraphQL和GraphQL sequelize模式生成器

我已经使用graphql、nodejs、express和sequelize与mysql构建了一个小代码,但是我还没有找到graphql的魔力。我会使用sequelize cli和sequelize model:create等创建模型,并动态生成模式和类型,如下所示: var types = generateModelTypes([db['User'], db['Acesso']]) var schema = generateSchema({User: db['User'], Acesso: db

Sequelize.js 如何在两种不同的orm中使用事务

我有一个使用ORM的代码库,希望转到ORM。有没有办法重用在sequelize with Objectionjs中启动的事务?这样我就可以迭代迁移,而不必一次重写所有内容。如果您可以获得由Sequelize启动的knex事务,您可以将其传递给objective.js Model.query(trx) 如果Sequelize不在后台使用knex事务,那么如果您可以获得Sequelize事务使用的原始数据库连接,那么您可以使用.connection(rawConnection)查询生成器方法来定义用

Sequelize.js Sequelize-插入日期始终返回空值?

我正试图通过邮递员测试我的数据库中的投递日期 我的模型设置如下。我从Sequelize中解构了{Date},因此它只显示日期 eventDate: { type: DATE, }, 我已经通过邮递员以不同的格式发布了日期,它们都返回空值。我不完全确定模型中是否还需要定义其他内容 "eventDate": "2020-05-30 02:00:00" "eventDate": "2020-03-14T15:32:42.782

Sequelize.js Sequelize-包含模块,而where子句是可选的

男人的支持很差 我正在尝试获取所有行并包含另一个表,其中where子句是可选的 给出下表(我知道它有错误,只是为了演示) 我想获取所有事件,包括它们的发生,而occurrence.date>现在或事件根本没有发生 到目前为止,我已经尝试了几种方法: const query = { where: {}, include: { model: Occurrence, where: { date: { [

Sequelize.js 如何获得多重联接的结果

我有以下设置: ... Survey.hasMany(Question, {as: 'Questions'}); Question.hasMany(Answer, {as: 'Answers'}); 如何获得单个调查的完整记录集?我知道如何获取调查的所有问题,但我希望每个问题都有与之相关的所有答案 Question.findAll({ where: { surveyId: req.surveyId } }).then(function (questions) { // No

Sequelize.js HapiJS和Sequelize不带Sequelize CLI

我正在尝试使用和开始一个项目,希望在不使用Sequelize CLI的情况下让项目正常工作,以了解所有事情是如何进行的。 我看过多个示例项目,例如: 而且它们似乎都使用Sequelize CLI,我希望初学者避免使用它。 有什么开源项目可以给我灵感吗 否则:如何避免使用这些文件中自动生成的,至少是以特定顺序读取它们?Sequelize的配置非常简单。您不需要任何sequelize cli。只需执行:npm安装sequelize并对其进行配置。这是我的配置文件: const Sequelize

Sequelize.js 提供A的Sequelize联接与B不关联

在我的模型定义中,我有: tableA.hasMany(tableB); 所以在tableB中,我有一个字段“tableAId” 但是,当我尝试运行此代码时: return models.tableB.findAll({include: {model: models.tableA}}).then(function(result){ if(result){ return Promise.resolve(result); } else{ re

Sequelize.js 节点续集:防止在启动时生成表

由于我是续集新手,我有以下问题: 当我启动我的应用程序时,它会根据我的模型定义自动创建表,有没有办法防止这种情况发生 我想使用我的迁移脚本创建表,如果在运行迁移脚本之前运行了应用程序,我不想在迁移脚本中删除表。我想你说的是sequelize sync功能。如果数据库不存在,这将创建数据库。如果您强制它为truesequelize.sync({force:true}),它将删除您的所有架构并再次创建所有内容。它在测试中非常有用,但在生产中相当危险。例如,如果您有一个包含一些迁移脚本的项目,然后使用

Sequelize.js 使用外键对关联进行续集

我真的错过了续集里的这个。 .hasMany定义仅适用于ID上的映射。 让我们以通常的项目/任务为例。假设项目具有版本属性,并且应该与具有相同版本属性的任务相关联 我需要一种方法来强制关系基于两个属性:ID和VERSION 我坚信我们需要一种基于多个外键(称为复合键)进行关联的方法 在我的项目中,我不得不向模型中添加一系列方法,以使用多个键为gettask提供替代 如果有人提出建议,我们欢迎他。这也是我们项目中需要的东西。我们已经添加了我们需要的功能,并且每天都在我们的项目中使用它,但是功能还没

Sequelize.js 我可以将sequelize实体映射到数据库视图吗?

我有以下问题。我在MySQL数据库中获得视图。如何将sequelize实体映射到此视图 现在我只找到了两种解决方案: 对数据库使用原始SQL查询,如: db.sequelize.query('SELECT*FROM dbName.vieName').success(函数(数据){…} 并使用物化视图。我创建表,在初始视图表中添加触发器,并将创建的表映射到单独的实体 也许有人可以用另一种方法解决这个问题?有什么想法吗?我们使用了#1,它工作得很好。我要提醒你不要在Postgres 9.3中使用物

Sequelize.js 使用sql server时继续升级

有人能告诉我sequelize upsert是否在sql server中工作吗?具体来说,我使用的是sql server 2012版 我很困惑,因为在sequelize文档中,它们说明了以下方面的实施细节: MySQL、PostgresSQL和SQLite,但列表中不包括sql server 所以,我很好奇,在使用sql server(2012)时是否可以进行升级 现在MSSQL上使用MERGE语句支持UPSERT 这是MSSQL的工作,我在expressJs上使用了upsert,使用MSSQL

Sequelize.js 主键Sequelize&;上存在重复排序id的问题;Feathersjs

好的,所以我使用以下命令成功地获得了默认排序顺序(谢谢): 这是从mssql中提取数据 我在钩子中添加了一个include来获取相关的实体 app.service("invoices").hooks({ before(context) { const AssociatedModel = context.app.services.parcels.Model; context.params.sequelize = { include: [{ model: Asso

Sequelize.js &引用;“关系不存在”;运行sync()时

我有一个问题,让协会正常工作,请帮助!我正在运行Node10.15.0、Sequelize 4.42和PostgreSQL 10.6 在我的模型索引文件中,我首先创建与Review.belongsTo(Product)的关联,然后同步模型Product.sync({force:true});sync({force:true}) 它抛出了这个错误: 未处理的拒绝SequelizeDatabaseError:关系“products”不存在 控制台中此错误前面的行是 执行(默认):从pg_type中选

Sequelize.js 续集:更改生产数据库上的数据库密码

我想在Sequelize的产品中更改我的DB密码 所以我想运行一个脚本来更改连接的DB密码,下次我执行应用程序更新时,它不会被覆盖:) 下面是我的migration.config.json示例 { "development": { "username": "postgres", "password": "postgres", "database": "db", "host": "localhost", "dialect": "postgres",

Sequelize.js sequelize上的3个表:与关系一起丢失

一、附表结构: 我构建了SQL 这是我的sql: 挑选 I.id, criticites,criticite, 艾特先生, 从…起 public.histo_jobs, 公共就业, 公众评论 哪里 histo_jobs.job_id=jobs.id和 criticites.jobid=jobs.id 我在我的模型之间创建了以下关系: Jobs.belongsTo(Criticte , {foreignKey : 'jobid'} ); Criticte.hasMany(Jobs

如何使用sequelize.js创建替换操作?

将sequelize.js与express.js一起使用 我需要用新实例替换模型的现有实例。我希望在保存替换之前验证新实例,以确保所有必需字段都存在。但是,validate()并不像我预期的那样工作。在以下示例中,req.body缺少requiredId。我创建一个新的位置,从req.body在其上设置someAttribute,并调用validate()。由于缺少requiredId,并且模型将其定义为allowNull:false,因此我预计会出现验证错误。情况并非如此,更新运行得很顺利 s

Sequelize.js 如何获得Sequelize ORM中Y最多的前X个用户数?

我想得到,比如说,拥有最多追随者的前十名用户。如何使用Sequelize ORM实现这一点?似乎您将在vanilla SQL中使用SELECT TOP number | percent column _name,但似乎找不到与Sequelize相同的函数。SELECT TOP并不是在每个数据库供应商中都有效(可能只有Microsoft SQL Server?)。描述“LIMIT”(MySql使用),它可能适用于您的数据库。下面是一个例子: /*Find the 5 most relevant a

Sequelize.js Sequelize:同一表中的多个实体将中断测试

我继承了一个项目,其中两个sequelize实体存储在同一个表中。 因此它们都具有相同的表名和模式 @Table({ tableName: 'thesametable', schema: 'schema', timestamps: false }) export default class FooModel extends Model<FooModel> { fieldA: string } @Table({ tableName: 'thesametable', schema:

  1    2   3   4   5   6  ... 下一页 最后一页 共 7 页