Articles of sequelize.js

在sequelize updateattributes方法中只能更新表中的一个属性?

我试过(sequelize模型)更新表中的值,但它会更新表中唯一的一个值。检查下面的例子 employee.updateAttributes({first_name : value.first_name}, {last_name : value.last_name}, {email : value.email}, {password : value.password}, {phone : value.phone} ).on('success',function(employee){ message.message = "Employee updated successfully"; message.employee = employee; message.successMessage = "Success"; callback(message); })

使用nodejs的sequelize更新多对多连接表

我有一个产品表和一个分类表。 一个产品可以有很多类别,一个类别可以有很多产品,因此我有一个ProductsCategories表来处理多对多的联接。 在下面的示例中,我试图将我的一个产品(ID为1)与3个不同的类别(ID为1,2和3)关联起来。 我知道在我的代码片断下面的东西是closures的,因为我得到一个丑陋的SQL错误消息,指示我试图插入一个对象到ProductsCategories连接表。 我不知道如何修复下面的代码片段,或者我甚至在这里的正确轨道上。 Sequelize文档对于这种事情相当稀less。 models.Product.find({ where: {id: 1} }).on('success', function(product) { models.Category.findAll({where: {id: [1,2,3]}}).on('success', function(category){ product.setCategories([category]); }); }); 我真的很感谢这里的一些帮助,谢谢。 另外,我正在使用Postgres,不知道是否重要。

无法使用Sequelize连接到MySQL

试图连接到我的服务器上的MySQL数据库时,我始终得到一个SequelizeConnectionRefusedError 。 login凭证是正确的,端口是开放的,一切似乎都很好(在开发环境中就像一个魅力一样)。 对不起,由于稀缺的背景信息,但我在这里傻眼了 – 我真的不知道可能是什么原因造成这个问题。 这是我的输出从mysql –version mysql Ver 14.14 Distrib 5.5.43, for debian-linux-gnu (x86_64) using readline 6.3 这是我用来初始化Sequelize的代码。 我想要它使用的表尚不存在,但我相当肯定,这个问题没有任何关系。 我已经尝试用root用户login,但没有骰子 – 我仍然得到相同的错误。 var sequelize = new Sequelize("database", username, password, { host: "localhost", dialect: "mysql", port: 3306, define: { paranoid: true } }); var Model = sequelize.define("Model", { md5: {type: Sequelize.STRING(128)}, ip: {type: Sequelize.STRING(256)}, […]

续集分页

在我的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,但似乎并没有这样工作:(