Tag: sequelize.js

从Sequelize.js中获取最后插入的“查询”(MySQL)

我在我的一个项目中使用了sequelize,并且在自定义非模型查询时遇到了一些麻烦。 例如: var query = "INSERT INTO table (name) VALUES ("Bob");"; sqlCon.query(query) .on('success', function(result) { console.log(result); // No inserted record or last insert id }); 我希望在这种情况下将插入的logging返回给我,或者至less是loggingID。 我错过了什么来确保“结果”被填充?

寻找具有关联支持的sequelize.js REST API生成器

有没有任何node.js模块会提供完整的REST API的sequelize? 其中必须遵循协会,所以例如,如果我有表testsuites(hasManytesting案例)和testing用例,比api将允许我做:get / api / testsuite / 1 / testcases它会做我所有的魔法? 我检查了sequelize-restful,但似乎并没有这样工作:(

Node.js => TypeError:Object 没有方法'save'

我是新的Node.js,我试图运行一种插入查询。 这是我的代码: exports.savetea = function(req, res){ var quantity = req.query.quantity; var Sequelize = require('sequelize'); var sequelize = new Sequelize('nodehmssm', 'root', 'root', {host: "localhost", port: 3306, dialect: 'mysql'}); var Tea = sequelize.import(__dirname + "/model/tea"); Tea.build({quantity: quantity, status: "active"}).save(); res.send("Tea added…"); }; 我的tea.js文件如下: module.exports = function(sequelize, DataTypes) { return sequelize.define("tea", { id : DataTypes.INTEGER, quantity : DataTypes.INTEGER, […]

Sequelize for Node.js:无法validationpostgresql

我遇到了为node.js设置sequelize模块的问题。 首先在postgresql中设置用户名和密码: postgres=# CREATE USER testuser WITH PASSWORD 'test'; 这是我的初始化代码: var Sequelize = require('sequelize'); var sequelize = new Sequelize('testdb', 'testuser', 'test', { host: 'localhost', port: 5342, dialect: 'postgres' }); sequelize.query('select * from mytbl').success(function(tbl){ console.log('success'); }); 但是,当我运行这短短的代码,我得到以下错误: events.js:72 throw er; // Unhandled 'error' event ^ Error: Failed to authenticate for PostgresSQL. Please double check your settings. […]

续集迁移

我是Sequelize的新手,想知道是否有人知道在使用迁移function时是否有办法避免Sequelize中的代码重复? 我的意思是在迁移中你会有这样的东西: //migration-xyz.js module.exports = { up: function(migration, DataTypes, done) { migration.createTable('Users', { name: DataTypes.STRING, surname: DataTypes.STRING }); }, down: function(migration, DataTypes, done) { // logic for reverting the changes } } 但是模型看起来像这样: //user.js module.exports = function(sequelize, DataTypes) { var User = sequelize.define('User', { name: DataTypes.STRING, surname: DataTypes.STRING }); return User; }; 有没有办法摆脱代码重复? 谢谢您的帮助! 🙂

Sequelize给TypeError

所以我随便开发了一个简单的node.js应用程序,它在我的电脑上工作得很好。 我安装了heroku工具栏 ,当我开始工头时,应用程序运行良好。 在heroku中部署应用程序似乎给了我一些使用sequelize与postgres连接时的错误(我甚至不能100%确定这是错误的原因,但几乎)。 该应用程序崩溃,我拥有的是heroku日志: 2014-01-05T11:07:39.850661+00:00 app[web.1]: Servidor escuchando al puerto: 25144 2014-01-05T11:07:39.911641+00:00 app[web.1]: 2014-01-05T11:07:39.912039+00:00 app[web.1]: timers.js:103 2014-01-05T11:07:39.912288+00:00 app[web.1]: if (!process.listeners('uncaughtException').length) throw e; 2014-01-05T11:07:39.913123+00:00 app[web.1]: ^ 2014-01-05T11:07:39.915970+00:00 app[web.1]: at TransactionManager.getConnectorManager (/app/node_modules/sequelize/lib/transaction-manager.js:25:36) 2014-01-05T11:07:39.915970+00:00 app[web.1]: at TransactionManager.query (/app/node_modules/sequelize/lib/transaction-manager.js:39:15) 2014-01-05T11:07:39.915970+00:00 app[web.1]: at module.exports.Sequelize.query (/app/node_modules/sequelize/lib/sequelize.js:310:36) 2014-01-05T11:07:39.915970+00:00 app[web.1]: at null.<anonymous> (/app/node_modules/sequelize/lib/query-interface.js:901:40) 2014-01-05T11:07:39.915970+00:00 app[web.1]: TypeError: Cannot call method 'setTypeParser' of undefined […]

如何导入需要参数的模块

这是我的文件结构: -models -user.js -room.js -database.js -controllers -createRoom.js -routes.js .. user.js和room.js是我想要在database.js中导入的模块。 现在我正在做这样的事情: 在database.js中: var mysql = require('mysql'); var Sequelize = require('sequelize'); var db = new Sequelize('test', 'root', 'root', { dialect: "mysql", port: 3306 }) var User = require('./user.js')(Sequelize, db); var Room = require('./room.js')(Sequelize, db); module.exports = function(){ //code… }; 在user.js / room.js中 module.exports = function (Sequelize, […]

使用“限制”和“包含”选项时,Sequelize中的“未知列”错误

我有一个相对复杂的Sequelize查询,导致“错误:ER_BAD_FIELD_ERROR:”where子句“中的未知列”EventImage.EventId“。 我可以清楚地看到在生成的SQL中的问题,但我不知道如何解决它。 错误是准确的,因为在子查询中生成的WHERE子句引用了不包含在子查询中的列。 据我所知,Sequelize正在生成子查询作为实现行限制的一种方式。 我使用sequelize@2.0.0-dev11,MySQL 5.5.35-0ubuntu0.13.10.2和Node v0.10.21。 这是基本的代码: var orm = require('../model'); var i = orm.Image; i.findAll({ where: where, offset: offset, limit: rows, order: orderby, include: [{ model: orm.User, as: 'User' }, { model: orm.Event, as: 'Events' }, { model: orm.Comment, as: 'Comments' }, { model: orm.Favorite, as: 'Favorites' } ] }) (1,2)“中的”EventId“和”EventImage“ 偏移量= 0 […]

如何在node.js网站中组织模型?

我刚刚开始尝试使用node.js构build网站,并且在组织项目模型时遇到问题。 我在互联网上find的所有真实世界的例子都使用了Mongoose。 这个库允许你以静态的方式定义你的模型。 所以你可以写这个: // models/foo.js module.exports = require('mongoose').model('Foo', …); // app.js mongoose.connect(…); // some_controller_1.js var Foo = require('./models/foo'); Foo.find(…); // some_controller_2.js var Foo = require('./models/foo'); Foo.find(…); 但是由于我不想使用MongoDB,我需要另一个ORM。 而我发现的所有其他ORM都不允许这样做。 你首先需要创build一个实例,然后只有你可以注册你的模型。 他们似乎也不允许访问注册模型列表。 所以我试着这样做: // models/user.js var registrations = []; module.exports = function(sequelize) { var result = null; registrations.forEach(function(elem) { if (elem.db == sequelize) result = elem.value; […]

使用node.js批量删除mysql行

var Sequelize= require('sequelize') var sequelize = new Sequelize('db', 'user', 'password', {pool: { maxConnections: 5, maxIdleTime: 30 }}) var table = sequelize.define('User', { trip_paramid: Sequelize.INTEGER }, {timestamps:false}) table.sync({ force: false }).success(function() { table.destroy('`id` >= 5685321').success(function() { console.log("deleted"); }) table.destroy('`id` >= 9600000').success(function() { console.log("deleted"); }) table.destroy('`id` >= 15600000').success(function() { console.log("deleted"); }) table.destroy('`id` >= 20000000').success(function() { console.log("deleted"); }) […]