Tag: sequelize.js

如何在mysql数据库中使用FIND_IN_SET

如何在集合ORM中使用FIND_IN_SET或任何等价的集合。

续集join非主键

我有两张桌子我需要关联。 表A有一个表B。 我可以在TableA模型中做到这一点: TableA.hasOne( models.TableB, { as: 'TableB', foreignKey: 'someID' } ); 看着SQL,它试图joinTableA.ID和TableB.someID。 我真正想要的是joinTableA.someNonPrimaryKey和TableB.someID。 我怎么能说sequelizejoin一些NonPrimaryKey?

打破单独的文件夹中的后续模型

我真正的问题是:是否有可能与单独的文件夹中的模型sequelize工作? 我这样问,因为我试图在我的应用程序中使用模块化结构,为了实现我需要的模型,控制器和path在同一个文件夹中,这就是我的意思: ├── node_modules ├── src │ ├── client │ │ └── … //Frontend things managed by angular (like views, etc…) │ └── server | ├── components | | ├── db | | | ├── migrations | | | | ├── users.js | | | | └── … | | | ├── seeders | | […]

MySQLjoin,ORDER BY RAND()然后sortingASC(最好使用Sequelize)

我想帮助这个MySQL查询。 理想情况下,我会使用node.js Sequelize ORM生成它。 这些表格是: Questions: id, question Answers: id, question_id, answer 我的续集代码是: models.questions.findAll({ where: { id: { $notIn: not_in } }, order: [['id','ASC'], [models.answers, 'id', 'ASC']], attributes: ['id', 'question'], include: [{ model: models.answers, attributes: ['id', 'question_id', 'answer'], }] }) 将not_in设置为-1 ,Sequelize会生成以下查询: SELECT `questions`.`id`, `questions`.`question`, `answers`.`id` AS `answers.id`, `answers`.`question_id` AS `answers.question_id`, `answers`.`answer` AS `answers.answer` FROM […]

续集迁移失败(postgres)

我正在尝试使用postgresql与我的节点应用程序使用sequelize。 但是我不能使它工作。 当我运行sequelize -m我得到这个输出: Loaded configuration file "config/config.json". Using environment "development". Running migrations… 20130916100313-create-table-usuarios.js Completed in 21ms events.js:74 throw TypeError('Uncaught, unspecified "error" event.'); ^ TypeError: Uncaught, unspecified "error" event. at TypeError (<anonymous>) at EventEmitter.emit (events.js:74:15) at null.<anonymous> (/home/alejo/workspace/cloudlogger/api/node_modules/sequelize/lib/migrator.js:95:44) at EventEmitter.emit (events.js:98:17) at module.exports.finish (/home/alejo/workspace/cloudlogger/api/node_modules/sequelize/lib/query-chainer.js:138:30) at exec (/home/alejo/workspace/cloudlogger/api/node_modules/sequelize/lib/query-chainer.js:92:16) at onError (/home/alejo/workspace/cloudlogger/api/node_modules/sequelize/lib/query-chainer.js:72:11) at EventEmitter.emit (events.js:95:17) at /home/alejo/workspace/cloudlogger/api/node_modules/sequelize/lib/migration.js:65:19 […]

续集:连接两次相同的表

背景: 我有一个与Userlang具有一对多关系的Userlang 。 例如: userlang.id userlang.userid userlang.lang +———–+—————+————-+ 1 1 EN 2 1 FR 3 1 IT 4 2 EN 5 2 DE 6 3 IT 我想select至less有一个userlang.lang=EN. 所有用户和他们的userlang userlang.lang=EN. 所以,我不能使用以下查询: Select USERS.id from USERS inner join USERLANG on USERS.ID=USERLANG.USERID where USERLANG.LANG="EN" 因为它只会selectlang="EN"的Userlangs行,而我想select每个用户的所有userlang行,其中至less有一个lang="EN" 我已经可以用SQL以两种方式编写这样的查询: 使用子查询: Select * from USERS inner join USERLANG on USERS.ID=USERLANG.USERID where USERS.ID […]

使用续集ORM连接到node.js上的Amazon RDS Postgres数据库的问题

我目前正在将在Heroku中设置的环境迁移到Amazon Web服务堆栈(RDS PostgreSQL,Elastic Beanstalk)。 尝试通过sequelize.js ORM连接到PostgreSQL时,我遇到了一些问题。 错误信息如下: 未处理的拒绝SequelizeHostNotFoundError:getaddrinfo ENOTFOUND [host]。 我可以通过pgAdmin连接到数据库,所以我知道服务正在工作,并且以下configuration在Heroku上工作: sequelize = new Sequelize(process.env.DATABASE_URI, { dialect: 'postgres', protocol: 'postgres', logging: true, timestamps: false }) DATABASE_URI格式如下: postgres://[db_username]:[db_password]@[hostname]:[port]/[db_name] 任何帮助将不胜感激。 提前致谢!

如何在Sequelize迁移中创build关联?

我正在使用迁移来创build实体。 当然,有些关系在他们之间。 到目前为止,通过使用sync(true) ,我享受了Sequelize在数据库级实现关系的好处。 我如何在迁移中expression新的关系? 一对多:我应该照顾外键列吗? 多对多:我应该创build中间表并在每个实体的表上设置外键吗? 或者:我应该运行迁移,然后sync(false) ? 关系不再相关的呢?

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

我需要澄清一下游泳池是什么以及它的function。 文档说Sequelize将在初始化时build立一个连接池,所以你应该只在每个数据库创build一个实例。 var sequelize = new Sequelize('database', 'username', 'password', { host: 'localhost', dialect: 'mysql'|'mariadb'|'sqlite'|'postgres'|'mssql', pool: { max: 5, min: 0, idle: 10000 }, // SQLite only storage: 'path/to/database.sqlite' });

Sequelize:如何映射数据透视表中的自定义属性

我有这个数据透视表,它代表了与模型Person和Movie的多对多关系。 事情是,当我打电话给那些关联人的电影时,我想得到这个angular色。 我尝试过,但没有显示angular色: models.Movie.findAll({ include: [{ model: models.Person, as: 'persons', through: {attributes: ["role"]} }] }).then(function(movies) { res.json(movies); }); 我是否必须在role的模型中指定某些内容?