Tag: sequelize.js

将所有查询设置为raw = true sequelize

我真的很喜欢使用sequelize作为我的节点应用程序的ORM,但现在,当我们查询时默认传递DAO对象的时候,我有点恼火。 我怎样才能将原始选项始终设置为true?

集成到hapi

有许多使用sequelize.js和express的很好的例子。 我想知道是否有一些人使用hapijs进行sequelize ,以及如何使整个事情变得无痛苦。 如何让他们一起工作?

在sequelize.js中自定义json响应

我使用sequelize从MySQL数据库获取JSON。 所以我有两个模型Menu和Product进一步的关联,如: Menu.js classMethods: { associate: function(models) { Menu.hasMany(models.Product, {foreignKey: 'menu_id'}) } } Product.js classMethods: { associate: function(models) { Product.belongsTo(models.Menu, {foreignKey: 'menu_id'}) } }, // IF I ADD BELOW CODE I HAVE ERROR: Possibly unhandled ReferenceError: menu is not defined instanceMethods: { toJSON: function () { var values = this.get(); if (this.Menu) { values.icon = […]

通过手动定义的连接表按关联查找

我知道这里有一个更简单的例子: 不幸的是,我的情况比这更复杂一点。 我有一个belongsToMany部门(又belongsToMany用户)的用户模型,但通过userDepartment (一个手动定义的连接表)来实现。 我的目标是获得属于某个部门的所有用户。 首先让我们看看models/user.js : var user = sequelize.define("user", { id: { type: DataTypes.INTEGER, field: 'emplId', primaryKey: true, autoIncrement: false }, firstname: { type: DataTypes.STRING, field: 'firstname_preferred', defaultValue: '', allowNull: false } … … … associate: function(models) { user.belongsToMany(models.department, { foreignKey: "emplId", through: 'userDepartment' }); }) } … return user; 现在看一下models/department.js : var […]

在nodejs中查找所有sorting顺序

我试图从sequelize数据库输出所有对象列表如下,并希望得到的数据被列为我在where子句添加id。 exports.getStaticCompanies = function () { return Company.findAll({ where: { id: [46128, 2865, 49569, 1488, 45600, 61991, 1418, 61919, 53326, 61680] }, attributes: ['id', 'logo_version', 'logo_content_type', 'name', 'updated_at'] }); }; 但是问题出在渲染之后,所有的数据都按照如下进行sorting。 46128, 53326, 2865, 1488, 45600, 61680, 49569, 1418, …. 正如我所发现的,它既没有按照id也没有命名。 请帮我解决这个问题。

Sequelize实例方法不起作用

我正尝试使用Sequelize的实例方法来validationlogin尝试的密码。 我已经将用户模型定义为: var User = sequelize.define('User',{ id:{ type:DataTypes.BIGINT, autoIncrement: true, allowNull: false, primaryKey:true }, username:{ type:DataTypes.STRING, unique:true }, password:{ type: DataTypes.STRING }, … }, { classMethods:{ associate:function(models){ … } } }, { instanceMethods:{ validatePassword:function(password){ return bcrypt.compareSync(password, this.password); } } } ); return User; } 在我的login路线中,我执行以下操作: 1)从请求体获取用户名和密码 2)检查用户名是否存在于数据库中 3)如果用户存在,则使用validatePassword方法获取用户对象,并将发送的密码与数据库中的散列密码进行比较。 这是相关的代码 var username = req.body.username || ""; […]

自动生成序列化模型

我想开始使用Sequelize,一个允许在node.js中使用ORM的模块。 我想知道是否可以像CakePHP那样自动生成模型。 在CakePHP中,它将读取表格的信息,并自动在模型中创build关联和字段。 我真的很讨厌完全用手绘出所有的桌子,因为有些桌子比较大。 那里有什么东西可以帮我吗? 还是我自己手工input所有的模型?

允许空值用于后缀foreignkey?

我如何让一个外键为空? 我有一个through和belongsToMany协会: Shelf belongsToMany(Book, { through: Library, as: "Books"}); Book belongsToMany(Shelf, { through: Library, as: "Shelves"}); Library section: DataTypes.STRING, // … other fields 我想在Library的bookId上logging一个null: Library.create({ section: "blah", bookId: null, shelfId: 3 }); 由于Sequelize会自动在连接表Library创buildbookId和shelfId ,我将如何指定我希望允许Library的bookId键为null ?

我如何设置Sequelize.jsstream数据而不是承诺/callback?

我正在使用MySQL并有一个非常大的响应(15,000 +行)。 这需要..时间。 但是我可以马上处理第一个结果。 我可以设置一个stream以某种方式sequelize ? 如果是这样,怎么样?

续集复合唯一约束

定义模型: export default function(sequelize, DataTypes) { return sequelize.define('Item', { minor: DataTypes.INTEGER, major: DataTypes.INTEGER, }); } 我可以将minor和major定义为复合UNIQUE约束吗?