Articles of sequelize.js

使用Sequelizejoin多个联结表

我有一个包含三个主表的数据库:由两个联结表users_teams和teams_folders连接的users , teams和folders 。 用户和团队之间以及团队和文件夹之间存在多对多的关系(用户可以在多个团队中,团队可以拥有多个文件夹)。 Sequelize在pipe理用户团队和团队 – 文件夹关系方面performance出色,但我无法find在用户和文件夹之间build立关系的方法。 有没有办法通过两个联结表join而不诉诸原始的SQL? 似乎没有办法完成这个优雅或在一个合理的步骤。 我尝试了像user.getFolders() , Folder.findAll({ include: [User] }) ,但Sequelize似乎无法理解三级分层结构。

续订OR条件对象

通过创build这样的对象 var condition= { where: { LastName:"Doe", FirstName:["John","Jane"], Age:{ gt:18 } } } 并通过它 Student.findAll(condition) .success(function(students){ }) 它可以像这样精美地生成SQL "SELECT * FROM Student WHERE LastName='Doe' AND FirstName in ("John","Jane") AND Age>18" 但是,这是所有'和'的条件,我怎么能通过创build一个条件对象产生'或'条件?

使用Sequelize(NodeJS)而不是*来指定特定的字段

好吧,所以我在NodeJS中有一个项目,我正在使用Sequelize来创buildMySQL ORM。 这个东西很奇妙,但是我试图弄清楚是否有一种方法可以指定在查询的基础上返回哪些字段,或者甚至是在某处执行.query()的方法。 例如在我们的用户数据库中,可能会有大量的logging和列。 在这种情况下,我只需要返回三列,所以只能得到那些列会更快。 但是,Sequelize只是查询表格中的所有内容“*”,以尽可能完整地实现对象模型。 这是我想在应用程序的这个特定区域中绕过的function。

如何实现多对多关联的续集

我有两个表格:书籍和文章之间有多对多的关系。 参加表是BookArticles。 车型/ books.js module.exports = function(sequelize, DataTypes) { return Food = sequelize.define("Book", { id: { type: DataTypes.INTEGER, primaryKey: true, allowNull: false, autoIncrement: true, unique: true } }); } 车型/ articles.js module.exports = function(sequelize, DataTypes) { return Food = sequelize.define("Article", { id: { type: DataTypes.INTEGER, primaryKey: true, allowNull: false, autoIncrement: true, unique: true } }); […]

sequelize.js – 你需要手动安装mysql包

在安装node.js和sequelize.js并运行一个基本的testing之后,显示消息“您需要手动安装mysql包”。 我试过searchnetworking和Stackoverflow的原因这个消息。 我已经安装了: MySQL服务器版本5.5.31-0ubuntu0.13.04.1 节点v0.10.5 sequelize.js v1.6.0

续集在哪里没有

我有一个Article Sequelize模型,其中的文章相互关联。 有些文章是其他文章的翻译副本。 关系是这样设置的: var Article = sequelize.define('Article', { type : DataTypes.ENUM('source', 'translated'), sourceArticleId : DataTypes.INTEGER }); db.Article.hasMany(db.Article, { foreignKey: 'sourceArticleId', as : 'TranslatedArticles' }); 所以, type = 'source'的文章可以有很多的translatedArticles ,其中type = 'translated' 。 现在,我想查询所有没有翻译的source文章。 基于Sequelize项目github上的一个问题,可以这样做: Article.findOne({ where: Sequelize.literal('translatedArticles.sourceArticleId IS NULL'), include: [ { model: Article, as : 'TranslatedArticles' } ] }); 然而,当我运行这个我得到: SequelizeDatabaseError: ER_BAD_FIELD_ERROR: Unknown […]

在Sequelize.js中“belongsTo”vs“hasMany”

B.belongsTo(A)与A.hasMany(B)之间有什么区别? Artist = sequelize.define('Artist', {}); Album = sequelize.define('Albums', {}); Album.belongsTo(Artist, foreignKey: 'album_belongsl_artist'); Artist.hasMany(Album, foreignKey: 'artist_hasmany_albums'); 如果它在两种情况下创buildAlbum的依赖表?

如何使用Sequelize模型自动生成Sequelize CLI迁移?

我有一套Sequelize模型。 我想使用迁移,而不是数据库同步。 Sequelize CLI似乎能够做到这一点,根据这篇文章 :“当您使用CLI生成模型时,您也将获得免费的迁移脚本。” 如何从现有的Sequelize模型中使用Sequelize CLI自动生成迁移?

sequelize js – 限制和sorting错误

在sequelize js中对查询进行sorting的正确方法是什么? 例: db.model.findAll({ where: conditions, order: 'postDate DESC', limit: 10, offset: 0, include: [model1, model2] }).complete(function(err, results){console.log(results); }); 导致限制和抵消的结果,首先,然后它进行sorting。 在限制结果之前,我应该怎么做sorting呢? 在未来谁会遇到这个bug,这是修复 order: [["postDate","DESC"]]

autoIncrement如何在NodeJs的Sequelize中工作?

Sequelize的文档没有提到autoIncrement 。 它只包括下面的例子: // autoIncrement can be used to create auto_incrementing integer columns incrementMe: { type: Sequelize.INTEGER, autoIncrement: true } 基于这个例子,我有以下代码: db.define('Entries', { id: { type: Seq.INTEGER, autoIncrement: true, primaryKey: true }, title: { type: Seq.STRING, allowNull: false }, entry: { type: Seq.TEXT, allowNull: false } } 现在,当我想创build一个条目,我想要做这样的事情: models.Entry.create({title:'first entry', entry:'yada yada yada'}) 但是,当我执行该代码时,我得到一个数据库错误: 列“id”中的空值违反了非null约束 […]