Articles of sequelize.js

如何使用时间戳上的NOW()来更新Sequelize?

我正在尝试做如下的事情: model.updateAttributes({syncedAt: 'NOW()'}); 显然,这不起作用,因为它只是作为一个string传递。 我想避免传递一个节点构造的时间戳,因为后来我将它与另一个“ON UPDATE CURRENT_TIMESTAMP”字段进行比较,数据库和源可能运行不同的时间。 我唯一的select只是build立一个数据库程序并调用它?

Sequelize身份validation无法完成

我开始与node.js和sequelize,我得到以下错误: /home/cbaket/test/test.js:9 .complete(function(err) { ^ TypeError: undefined is not a function at Object.<anonymous> (/home/cbaket/test/test.js:9:6) at Module._compile (module.js:460:26) at Object.Module._extensions..js (module.js:478:10) at Module.load (module.js:355:32) at Function.Module._load (module.js:310:12) at Function.Module.runMain (module.js:501:10) at startup (node.js:129:16) at node.js:814:3 我的文件:test.js是: var Sequelize = require('sequelize'); var sequelize = new Sequelize('apidb', 'apidb', 'apidb', { dialect: "mysql", // or 'sqlite', mysql', 'mariadb' port: […]

有没有简单的方法来使Sequelize返回特定格式的date/时间字段?

我们需要以特定的格式重新设置返回date,而不是默认的date。 据我所知,没有办法以select或其他方式来设置。 每次检索后都没有手动更新date,任何人都可以很容易地解决这个问题? 还是我错过了什么?

续订关联 – 请使用承诺风格

我试图join3个表在一起的Products , Suppliers和Categories ,然后获得行与SupplierID = 13 。 我已经阅读了如何实现多对多的关联 ,并解释如何关联0:M 。 DB型号: 码: var Sequelize = require('sequelize') var sequelize = new Sequelize('northwind', 'nodejs', 'nodejs', {dialect: 'mysql',}) var Project = require('sequelize-import')(__dirname + '/models', sequelize, { exclude: ['index.js'] }); Project.Suppliers.hasMany(Project.Products, {foreignKey: 'SupplierID'}); Project.Products.belongsTo(Project.Suppliers, {foreignKey: 'SupplierID'}); Project.Categories.hasMany(Project.Products, {foreignKey: 'CategoryID'}); Project.Products.belongsTo(Project.Categories, {foreignKey: 'CategoryID'}); Project.Products .find({ where: { SupplierID: 13 }, […]

如何在运行序列化迁移时打印原始查询?

我需要打印在迁移正在运行时执行的原始查询。 任何想法如何做到这一点? 我使用–migrate选项来运行脚本。

Sequelize包含在数据库中计算的计算字段?

在Node.js中使用Sequelize是否有可能定义一个在检索数据时在数据库中计算的字段? 我知道我可以添加一个自定义getter到DAO来计算节点中的东西,但只能在已经加载的数据上工作。 我的目标是定义在数据库中运行的计算,因此可以使用子查询来计算使用其他数据。 例如,我最好喜欢这样做: Products = Sequelize.define('Product', { 'productId': { type: Sequelize.INTEGER, primaryKey: true, autoIncrement: true }, 'isProductActive': Sequelize.INTEGER, 'productName': Sequelize.STRING, 'productPrice': Sequelize.DECIMAL, // This is what I don't think Sequelize supports // but is what I ideally want to do… 'totalSales': { type: Sequelize.DECIMAL, subQuery: "SELECT SUM(OD.TotalPrice) FROM OrderDetails OD WHERE OD.productID = Products.productID" […]

Sequelize同步与迁移

我正在学习Sequelize,我希望对于同步和迁移进行一些解释。 据我所知,同步将根据我的模型模式创build缺失的表,但我也读过同步是为了初始化数据库,而迁移是为了生产。 如果是这种情况,快速示例显示从bin/www调用同步 。 这是不应该在生产中使用的东西吗? 作为这个的延伸,如果我不在生产中使用同步,你如何应用模型关联? 我是否需要手动将它们添加到迁移? 本质上,我要求解释这两个概念是如何一起工作的。 谢谢

无法使用Sequelize将Schema(postgresql)中的模型关联起来

我正在尝试使用Postgresql(9.3)的Sequelize(1.7)并尝试使用模式。 我在数据库中创build了外部模式,但在我的模型中使用它们。 当我试图做模型关联时,Sequelize抱怨这个关系不存在。 当我重新定义模型使用PostgreSQL的默认“公共”模式时,它工作正常。 这里是testing用例的模型定义和代码 var Promise = require("bluebird"); var Sequelize = require("sequelize"); var _ = require('lodash-node'); var schemaName ="test_schema"; var sequelize = new Sequelize( c.database,c.username, c.password,{dialect :'postgres', port:'5432',schema:schemaName}); var User =sequelize.define('User',{ id:{ type: Sequelize.INTEGER,primaryKey:true, autoIncrement:true}, name:{type:Sequelize.TEXT,allowNull:false}, nick_name:{type:Sequelize.TEXT,allowNull:true}, date_of_joining:{type:Sequelize.DATE,allowNull:false,defaultValue:Sequelize.NOW} }, { tableName:"user", underscored:true, timestamps:false } ); var Task = sequelize.define( 'Task', { id:{ type: Sequelize.INTEGER,primaryKey:true, […]

sequelize.js – 按ID查找并返回结果

我有一个function, var findUserDevice = function(userDeviceId){ var device = db.DeviceUser.find({ where: { id: userDeviceId } }).then(function(device) { if (!device) { return 'not find'; } return device.dataValues; }); }; 但是这个函数不会返回任何东西… var UserDevice = findUserDevice(req.body.deviceUserId); console.log(UserDevice);// undefined

查询连接表,但不会在Sequelize中获取两个关联

考虑以下模型: var User = sequelize.define('User', { _id:{ type: Datatypes.INTEGER, allowNull: false, primaryKey: true, autoIncrement: true }, name: Datatypes.STRING, email:{ type: Datatypes.STRING, unique: { msg: 'Email Taken' }, validate: { isEmail: true } } }); var Location= sequelize.define('Location', { _id:{ type: Datatypes.INTEGER, allowNull: false, primaryKey: true, autoIncrement: true }, name: Datatypes.STRING, address: type: Datatypes.STRING }); Location.belongsToMany(User, […]