Tag: sequelize.js

如何在续集中构buildEXISTS子句

我有一个模型,有3个实体: User Project Contributor 一个项目有一个所有者(谁是一个用户),并有多个贡献者(谁是用户)。 在我的仪表板中,我想列出用户的项目,即用户是所有者或贡献者的所有项目。 使用Project.findAll({where: [owner: user]})find拥有的项目是微不足道的。 如何修改这个来找出用户也是贡献者的项目? 这将(在数据库查询中)使用EXISTS子句转换为子查询。

我如何定义Sequelize.STRING的长度?

我想在sequelize中定义一个数据types的长度。 有我的源代码: var Profile = sequelize.define('profile', { public_id: Sequelize.STRING, label: Sequelize.STRING }) 它创build一个带有数据types为varchar(255)的public_id的表格configuration文件。 我想用varchar(32)定义一个public_id。 我search了文档和堆栈,但找不到任何答案… 我该怎么做?

续集Model.hasOne错误:Model与ModelTwo没有关联

我已经将sequelizejs集成到了我的快速框架中。 我得到了所有的模型configuration,并试图build立我的第一个查询。 我不断收到错误“错误:模型与ModelTwo没有关联!” app.get('/',function(req,res){ db.Member.findAll({include:[{model:db.MemberProfile,as:'Profile'}]}) .success(function(users){ if(users){ res.json(users); }else{ res.send('no users'); } }); }); // model.js module.exports = function(sequelize,sql) { return sequelize.define('Model', { //attributes }); Model.hasOne('ModelTwo',{foreignKey:'model_id'}); }; //model_two.js module.exports = function(sequelize,sql) { return sequelize.define('ModelTwo', { //attributes }); //no relationship defined. Tried ModelTwo.hasMany('Model',{foreignKey:'id'}); //but it yields the same resulting error }; 任何想法可能会出错? 我正在使用最新版本的sequelize 1.7.0-rc6。

按datesortingsequelize.js查询

Post .findAll({where: {tag: 'news'}, limit: 10}) .success(function(result) { … }) 如何在我的查询中插入按datesorting的条件,而不使用sequelize.query .findAll({ limit: 10, sort: [updatedAt, descending]})

使用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 […]