Sequelize.js Sequelize错误模型未关联

我有两个模型:userAuth和userFollow,我在同步之前将它们关联起来。 关联是userFollow有两个外键引用用户。 我没有使用别名,但使用时: userAuth.findOne({ where:{ id: "someid" }, include: [{ model: userFollow }], logging: false }) 它抛出的错误

如何正确映射sequelize.js中关系的属性?

我正在创建一个食谱数据库(通常称为烹饪书),在这里,我需要在配料和食谱之间建立多对多的关系,并且我正在结合使用 当一种成分被添加到配方中时,我需要声明进入配方的该成分的正确数量 我已声明(简化示例) 我的问题是,当我的一个REST端点返回数据时,数据是如何返回的 router.get('/recipes', function(req, res) { Recipe.findAll({ include: [{ model: Ingredient,

Sequelize.js val.replace不是函数-Sequelize

每次执行下面的代码时,我都会遇到这个错误,我似乎无法理解它 未处理的拒绝类型错误:val.replace不是函数 在Object.SqlString.escape 您正在创建产品之前添加产品,因为这样做是一种承诺 User.create({title: 'user'}) .then(user => { Project.create({title: 'ISD Corp'}).then(project => { user.addProject({project}

Sequelize.js 如何使用Sequelize处理RDS集群中的新副本?

我们正在为流量激增做准备,但这个问题也是一个普通问题: 知道您可以设置Sequelize以使用RDS数据库集群(在我们的示例中为:Aurora),如下所示: const master={rdsClusterWriterEndpoint、用户名、密码、端口、数据库} 常量副本={rdsClusterReaderEndpoint、用户名、密码、端口、数据库} const Sequelize=require('Sequelize') const sequelize=新的sequelize(null,n

Sequelize.js Sequelize-变量“;“续集”;在模型定义中

我在看续集纪录片。在本节的底部,我想知道sequelize变量的用途是什么?我能把它拿走吗 { sequelize, modelName: 'foo' } 这里sequelize只是sequelize连接的一个实例 sequelize的init方法需要两个对象作为参数,如您所见 Foo.init( { title: Sequelize.STRING, description: Sequelize.TEXT, //first argument deadline: Seq

Sequelize.js Sequelize-具有两个嵌套include的嵌套列语法

我试图创建WHERE条件,其中包括“person.name”列或“person->associates->friends.username”列之间的OR关系。在include(Friends模型)中嵌入where条件会创建一个我不需要的AND关系 为了简单起见,举一个例子: Person.findAll({ where: { $or: [ { name: 'John' }, { '$associates.friends.userName$':

Sequelize.js 正在返回奇怪的数据

我希望得到一些关于如何修复数据的建议(如果数据不正常的话)。当我对用户模型进行fetchAll调用时,得到的数据类型是 [ user { dataValues: { id: 4, email: 'emais44@email.com', createdAt: '2020-08-05', updatedAt: '2020-08-05' }, _previousDataValues: { id: 4,

Sequelize.js 在Sequelize中使用作用域和create方法

Sequelize允许用户在模型上定义可重用查询。您可以定义一个defaultScope,以及命名的作用域。我为find、update和findAll工作,但不是为 从文档中: 通过调用模型定义上的.scope,传递 一个或多个作用域的名称.scope返回一个功能完整的 使用所有常规方法建模实例:.findAll,.update, 计数,销毁等 是否可以将作用域应用于create方法,以便返回的实例仅限于某些属性?我也想知道。我也想知道。

Sequelize.js sequelise中的关系表

我有三张桌子:(学生、选修课、学生选修课) {student\u id,optional\u id,subject\u id}:制作主键, {student\u id,optional\u id,preference\u No}:应该是唯一的, 学生选修课 这里的student_选修是选修课和学生之间的关系表。 我们应该如何在sequelize中实现这一点?您的目标是在文档中描述的“belongtomany”,您的目标是在文档中描述的“belongtomany” student: id, nam

Sequelize.js 在Sequelize中计算列的数据

我在Sequelize中有两个相互关联的表,我想数一数下面的表 作业表列:“id”、“名称” worker表colmuns:'id','name','job\u id' 假设我们现在有5份工作,并且有很多员工与工作id相关 我想显示作业的“id”、“姓名”,并计算有多少工人具有相同的作业id 示例:{id:1,姓名:工程师,计数:6};这意味着在worker的表6中,worker的job_id=1 我的问题是这样的: Jobs.findAll({ attribute:['id', 'name']

Sequelize.js 基于另一个Sequelize查询的结果执行Sequelize查询

我有一个postgres数据库,我正在使用Sequelize。从表车辆和预订中,我试图在给定开始日期和结束日期的情况下获得所有可用车辆 如果我使用以下方法搜索具有给定日期的预订: Bookings.findAll({ where: { [Op.or]: [ { dateOut : { [Op.gt]: req.body.startDate} }, { dateIn : { [Op.lt]: req.body.startDat

Sequelize.js Sequelize include在具有类型列的多对多带槽表上无法正常工作

在我的多对多表中,我有一个type列和Foo模型,它在几个别名下引用了Bar include仅在required属性设置为true时才能正常工作。获取Foo和一些相关的Bars时,我只收到一个子集 我在下面添加了一个可以执行的示例来演示这个问题 const{Sequelize,DataTypes}=require('Sequelize')) const sequelize=new sequelize('sqlite::memory:'{ 定义:{时间戳:false} }) //定义相互关联的模型

Sequelize.js Sequelize批量更新不同的行为

我在sequelize模型中找不到问题。当我批量更新我的用户种子时,我得到一个不同的pwd集,因此无法登录。当我将db条目更新为正确的pwd时,它显然是有效的。似乎有什么问题,可能是批量更新挂钩或其他什么?这很奇怪 'use strict'; var crypto = require('crypto'); var validatePresenceOf = function(value) { return value && value.length; }; module.

Sequelize.js 我们可以在没有数据库连接的情况下对sequelize模型进行单元测试吗?

这里给我的错误是没有定义模型。但是模型已经定义。如果您想模拟sequelize模型进行单元测试,最好的方法是使用。编写答案时的版本为0.10.2 以下是您如何使用它的示例: 您想验证所创建的模型,还是想模拟此模型进行某种单元测试?是的,我想模拟此模型进行单元测试。我建议您改为使用来模拟数据库模型Hanks buddy,它可以工作!完美的我留下了这个问题的答案。虽然默认示例有一个user模型,但您可以轻松地将其替换为您计划测试的player模型。 const Sequelize = require

Sequelize.js 如何忽略钩子?

我有以下型号: sequelize.define("User", { id: { type: DataTypes.INTEGER(11), autoIncrement: true, primaryKey: true }, email: { type: DataTypes.STRING(255), allowNull: false, unique: true, },

Sequelize.js 如何通过表删除属性?

我有四种型号: Category Video VideoCategory VideoSchedule 通过这些关系: Category.belongtomany(视频,{通过:VideoCategory}) Video.belongtomany(类别,{通过:VideoCategory}) Video.hasOne(VideoSchedule) VideoSchedule.belongsTo(视频) 我想检索当前计划视频的类别列表。我非常接近,但是Sequelize一直给我through表中

Sequelize.js 为什么我不能修改结果对象

为什么sequelizefindAll返回的对象以及类似的对象不能像普通对象一样修改?我检查了它们是否已冻结或锁定,但Object.isfreezed()返回false。它是否使用getter而不是实际属性(如何检查?) 到目前为止,我修改结果的唯一选择是执行JSON.parse(JSON.strigify(result)),这是可以的,但会带来性能代价。您的实例有getter和setter方法。您可以调用instance.get('field')或instance.set('field',va

Sequelize.js 生成实例,保存并与一个查询关联

我正在使用.build创建一个模型实例,稍后将保存该实例 const modelInstance = sequelize.models.SomeModel.build({ someKey: 'someValue', // ... }); 稍后,在有条件地添加各种属性之后,我将调用.save(),然后将记录与另一个模型关联 modelInstance.save().then((modelInstance) => { modelInstance.setParent(parentI

Sequelize.js Sequelize属于许多没有联接表的关联?

我在现有模式上使用Sequelize,想知道如何处理以下情况: 我有一个站点表(其中站点具有国际民航组织机场标识符): var Site=sequelize.define('Site'{ uid:{ 类型:DataTypes.INTEGER, primaryKey:对 }, 国际民航组织:{ 键入:“字符”, allowNull:错误 } }); 以及一个包含天气时间序列的表(带有ICAO和日期的复合主键): var Weather=sequelize.define('Weather'){ 国

Sequelize.js 使用Sequelize包含在中间表中

我有两个多对多关系的模型。UserProject是另一个模型 User.belongsToMany(Project, through: UserProject); Project.belongsToMany(User, through: UserProject); 如果搜索UserProject,如何包含用户或项目?例如: UserProject.findAll({ where: { name: 'xxx' }, include: User }); 我无法执行此操作,因为UserProjec

Sequelize.js Sequelize-更新列,其中col=动态变量

使用Sequelize是否可以动态选择带有变量的列 例如: 我有一个以天为列(星期一、星期二、星期三,…)的表格(日程表),在那里我存储工作时间 我想选择与我的客户端请求相对应的列(客户端我返回一天(字符串),在这一天,我必须选择正确的列并修改它。我可以使用 coach.getSchedule({ attributes: [dateToLowerCase] }) 但无法修改,我尝试了以下方法: // schedule.se

Sequelize.js s、 addScope('defaultScope'{ 包括:[ { 协会:"场地",, 包括:[ { 协会:'地区', 包括:[ { 协会:"类别",, 属性:[],//不需要结果中的类别 其中:{ //仅获取区域标记 类别:“区域” } } ], } ] }, ], 订单:[“标题”] }, { 覆盖:真 }) }

这是可行的,因为我在我的场地实例中得到了一个“区域”数组include有一个as选项,但似乎只适用于模型,因此重复关联(标记/区域)似乎是描述这一点的唯一方法,它看起来并不十分枯燥(更不用说从维护角度来看可能会令人困惑) 这个vention表只有一个区域标记关联,但其他表有多个关联,所有关联都基于标记,但针对不同的类别,因此我可以看到我会一次又一次地遇到这个问题,而且代码味道很差 就我所见,使用作用域和查询方法的选项对我来说没有区别,而且我可以看到,我可能会选择使用多个作用域,以便在不需要数据时

Sequelize.js 按关联模型续集排序';s场

我有聊天、用户和消息模型,消息属于用户,聊天可以有多个用户,用户可以有多个聊天。我有一个正在工作的Sequelize方法chat.getUsers(),该方法返回未排序的用户,我希望用户按照聊天中最后一条消息的createdAt排序 到目前为止,我得到的是: UserModel.findAll({ include: [ { model: ChatModel, where: { id: chat.id }

如何在Sequelize.js中选择特定日期后的数据

我正在使用Sequelize.js处理MySQL中的数据,我想找到一个“updatedAt”在特定日期之后的数据,我尝试了以下代码: const post = await Posts.findByPk(ctx.request.query.id); const {updatedAt} = post; const prev = await Posts.findOne({ where: { updatedAt: { [Op.gt]: updatedAt

Sequelize.js 如何在Sequelize查询中跨表比较值

我该怎么做,这只是我遇到麻烦的最后一行?对话显然属于请求 SELECT * FROM Dialogues AS Dialogue,Requests AS Request WHERE Dialogue.RequestId=Request.id AND Dialogue.updatedAt < Request.updatedAt 如果你正确阅读文档,你会找到$col操作符,所以你就去吧 sourceField:{$col:'otherTable.otherfield'}您也可以尝试一下- c

Sequelize.js Sequalize how';as';和';外键';属性对关系有何影响?

我在学Sequalize 我正在使用迁移机制开发系统。这意味着我使用迁移添加外键 我有两种型号,即横幅和餐厅 一家餐厅可以有许多横幅。 一条横幅属于一家餐厅 所以在我的餐厅模式中 restaurants.associate = function (models) { restaurants.hasMany(models.banners, { foreignKey: 'restaurant_id' }) } banners.associate = function

Sequelize.js 如何使用sequelize count with group来计算组的总数

我有一些数据在字段中创建了一个。我编写了一个sequelizefindAll查询,成功地将在日期创建的\u分组,这些日期发生在同一天(忽略小时、分钟、秒)。然后我返回该列表的结果.length,以获得唯一天数的总数(这是我的最终目标)。但是,我想知道我是否可以使用sequelizecount方法返回唯一天数的总数,而不是使用findAll然后返回result.length 我并没有尝试太多,因为我只是在学习sequelize,有点不知所措。我也得到了我想要的结果,但我希望找到一种使用count而

Sequelize.js 加入Sequelize

我有以下协会: Room hasMany Key User hasMany Key 现在我想找到一个特定用户有钥匙的所有房间 目前,我得到了所有具有特定用户id的密钥 然后我找到所有的房间,过滤掉那些没有找到钥匙的房间。这看起来相当愚蠢,因为所有这些都可以通过一个SQL命令完成 我可能会取出每个钥匙的房间id,并在房间查询中使用它们,但这仍然是两个请求。您应该能够使用预取/包含来解决此问题 您可以使用以下内容: Room.findAll({ include: [ {model: K

Sequelize.js 在查询和子查询中续写订单

我试图弄清楚如何使用order属性对子查询和父查询进行排序。在当前设置中,order子句对父查询进行排序,但不对子查询进行排序。这可能吗?如果是,我怎样才能做到 以下是我的完整查询: models.Blog.findAll({ order: 'blog_date DESC', limit: 10, include: [ { model: models.Topic,

Sequelize.js 我如何在Sequelize中找到分割结果大于某个数量的结果?

我有两列:last和strike。我想查找last/strike大于10的所有结果。我可以编写一个原始查询,但我正在尝试看看是否可以用Sequelize方法来完成它。您可以使用与 Model.findAll({ 地点:sequelize.where( sequelize.literal('last/strike'), '>', 10 ) })。然后(实例=>{ //结果。。。 }); 上面使用的sequelize是sequelize的一个实例。此查询将生成类似以下内容的SQL 从表名称中选择*

Sequelize.js 通过Sequelize将1 | 2 | 3存储为MySQL中的整数

我试图通过sequelize将这种类型的整数“4 | 8 | 128”存储到MySQL的整数列中 在MYSQL中,我可以使用原始查询来实现这一点 How can I do so using sequelize without writing it as raw queries? Reference: https://www.databasejournal.com/features/mssql/article.php/3359321/Storing-Multiple-Statuses-Usin

Sequelize.js findAndCountAll计数获取的数字大于实际返回的数据

我正在使用SequelizefindAndCountAll()对我的网站进行分页 findAndCountAll()返回的项目总数(3990)大于实际返回的数据数(3770) 有人知道如何使findAndCountAll()返回与实际返回数据相同的项目总数吗 我使用的表findAndCountAll()查询包括两个其他表,如下代码所示: const patientModel:IIncludeOptions={ 模特:病人, 属性:[“deviceId”、“firstName”、“lastName

Sequelize.js Sequelize include-如何在n:m关系表上添加条件

我的mariadb数据库中有以下3个表: 帐户、程序、帐户程序 第三个表,AccountPrograms是一个关系表,它将许多帐户与许多程序连接起来。其结构如下: AccountProgramId (BIGINT, Primary Key, AUTO INCREMENT) programs_ProgramId (BIGINT) accounts_AccountId (BIGINT) DateFrom (TIMESTAMP) DateTo (TIMESTAMP) 我通过以下方式设置了sequel

包括在sequelize.js中

使用“包含”时,嵌套对象存储在以其模型命名的字段中,而不是以其关联命名 我有这样一个协会: account.hasMany(key,{'foreignKey':'owner'}); key.belongsTo(account,{'foreignKey':'owner'}); [ { id:1, owner:3, account:{id:3, ...} }, { id:2, owner:123, account:{id:123, ...

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