Articles of sequelize.js

续集分页

在我的nodejs web应用程序上使用sequelize ,我想查询使用分页(按date)的post。 阅读sequelize文档 ,他们提供使用offset和limit 。 由于我想显示post从新到旧,我需要考虑它们创build的date。 例如,如果我将第一个查询限制为10页,并且在执行第二个查询之前创build了一个新的post,则偏移量为10的下一个查询将导致来自最后一个查询的重复post。 我应该如何实现分页,以便支持新条目?

节点js。 续订交易

我的数据库中有'money'字段的'Banks'表, 用户可以定期提款,但只有在银行存款> 0的情况下才能提款。 首先,我应该得到银行的实体,然后检查(银行。金额> amountToWithdraw),然后撤回这个金额。 想象一下当并发用户试图提取一些钱的情况。 在那个时候,我检查是否(bank.money> amountToWithdraw)其他用户可以执行提款操作,而实际银行金额在DB中会less一些。 如何将交易应用于寻找银行业务(如何locking银行实体)? models.sequelize.transaction(function (t) { return models.Banks.findOne({where: { money: { $gt: 0 } }).then(function(bank){ //in this moment other user finished the same operation // how to lock access for editing bank object by other users after //findOne method? bank.money -= amountToWithdraw; return bank.save({transaction: t}); }) })

如何将自定义函数添加到Node.JS中的sequelize.js?

例如,我有一个客户端模型。 我想添加新的function“sendEmail” 该function需要工作发送电子邮件给一个客户端,或一次发送电子邮件给许多客户端? 在哪里定义这些function?

节点JS Sequelize如何计算关联数据

我在节点JS中使用Sequelize作为ORM。 有两个taboes。 事件和评论。 我做这样的一个协会:事件有很多意见。 现在我想检索所有事件并计算每个事件的评论数量。 现在我这样做: db.Event.findAndCountAll({limit: limit,offset: offset, include: [ db.Comment], order: 'date DESC'}). 和下一个回报 JSON.stringify(result.rows). 如何只用一个查询来重新运行评论的数量。 请帮帮我。 提前谢谢你

无法在Sequelize.js上创build一对多的子实例

我正在使用sequize创build父项和子项实例,但会抛出以下错误。 Site.hasMany(Group,{as:'groups'}); Group.belongsTo(Site); //not working Site.create(siteData).then((site)=>{ site.addGroups(groupData).then(()=>{ //also tried addGroup next(); }); }); //this works Site.create(siteData).then((site)=>{ groupData.SiteId=site.id; Group.create(groupData).then(()=>{ next(); }); }); 错误: 未处理的拒绝types错误:val.replace不是Object.SqlString.escape(c:\ APi \ node_modules \ sequelize \ lib \ sql-string.js:61:15)上Object.QueryGenerator.escape(c:\ APi \ node_modules \ sequelize \ lib中\方言\抽象\查询generator.js:983:22)

从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; }; 有没有办法摆脱代码重复? 谢谢您的帮助! 🙂