Articles of sequelize.js

将中间表关系序列化

我需要做下一个关系: 我有selection_process和documents,selection_process可以有很多文档,但是文档只能属于一个selection_process。 我不知道一个selection_process有多less个文档,所以我使用中间表,在该表'documents_selection'我有id_document和id_process_selection。 我已经在这里使用了一个中间表的多对多关系: ProspectModel.belongsToMany(CategoriesModel, { through: CategoriesProspModel, foreignKey: 'id_prospecto'}) CategoriesModel.belongsToMany(ProspectModel, { through: CategoriesProspModel, foreignKey: 'id_categoria'}) 这种情况是不同的,前景可以属于很多类别和类别可以有很多前景,没有问题,但在另一种情况下,文档只能属于一个process_selection。

使用Sequelize mysql更新批量数据

我想更新超过10万的数据,但我无法更新它。 我正在使用Sequalize和MySQL。 我首先从.txt文件中读取数据,然后根据表中已有的数据更新表格数据。 我正在使用Sequalize,但需要1个多小时才能更新100k条logging。 有没有办法使用Sequalize更新批量数据? 这是我的示例代码: async.each(arrayData, function(_arrayData, _callback) { var connection = index.connection; let query = 'UPDATE debit_tran_reg SET response_status ='+'"'+_arrayData.response_status+'"'+',response_rejection_reason='+'"'+_arrayData.response_rejection_reason+'"'+',umrn_no='+'"'+_arrayData.umrn_no+'"'+'WHERE loan_no ='+'"'+_arrayData.loan_no+'"'+''; connection.query(query).spread((results, metadata) => { console.log("results> "+JSON.stringify(results)); }); _callback(); },function(err){ if(err){ console.log(err); }else{ console.log("*****ALL DATA HAS BEEN PROCESSED*****") } });

如何使一个函数返回一个具有NodeJS的dynamic键名的数组?

我正在使用NodeJS构build一个RESTful API,为MySQL ORM提供快速,快速资源和续集。 我希望能够检索一组logging,并用res.json(logging)进行响应。 但是,我无法直接使用sequelize返回的集合。 当我尝试时,我得到以下错误: TypeError:将圆形结构转换为JSON 作为解决办法,我创build了一个函数,它接受logginginput并返回一个数组: /** * takes an Array of records and * returns a collection * * @param {Array} recs * @return {Array} * @api public */ function recs2Array(recs){ for(var c = 0; c < recs.length; c++){ var collection = []; (function(c){ // this is crap and must be done […]

Sequelize和节点v0.6.1

我使用Sequelize ORM for Node来实现一个脚本。 我使用节点0.6.1,但是当我执行脚本时,显示以下日志: “sys”模块现在称为“util”。 它应该有一个类似的界面。 Sequelize支持nodE的0.6.1版本吗?

Node.js Sequelize手动连接数据

现在用Sequelize for Node.JS来绊倒几个小时。 我没有这样的运气来build立联系(我必须在有限的时间内把我的大部分架构拆开)。 对于我的应用程序,只有几个关联(大部分博客相关)。 在我的一个博客API调用中(这是针对特定的博客ID): exports.single = function (req, res, next) { db.Models.blog.find({ where: res.locals.where }) .success(function (blog) { getAuthors(blog.BLOG_ID, function (authors) { blog.AUTHORS = authors; res.locals.data = blog; next(); }); }) .error(function (err) { res.locals.error = err; next(); }); } 我打电话给getAuthors(blogId)来获取作者< – >博客链接表中的所有作者: function getAuthors (blogId, fn) { db.Models.author.findAll({ where: { BLOG_ID: blogId […]

续集QueryChainer语法

与Sequelize QueryChainer有一些困难。 通常我不需要这样做,但是我决定尽早处理自己的关联,而不是使用build立在关联pipe理中的模块(事实certificate这是相当惩罚的)。 我正在写出我的REST例程,并试图删除一些基于已经提取或需要提取的logging的logging。 而不是有4-5嵌套的callback,我决定了QueryChainer和一个串行运行将是适当的。 在这个例子中,我带着一个用户,如果find了一个用户,我想拼凑一行查询来处理删除特定的关联。 我遇到的问题主要是在使用模型EventEmitting方法之外理解chainer的语法。 // Find user, destroy it and associations db.Models.user.find({ where: {STUID: id} }) .success(function (user) { if (!user) { res.locals.err = { status: 'FAILED', message: 'Could not delete user', reason: 'No user resource found' } } else { chain = new db._sqlize.Utils.QueryChainer(); chain.add(user.destroy()) // Check and destroy author association […]

使用Sequelize连接Node / Express应用程序的现有MySQL数据库

在一个项目上完成一个完整的重写RoR到Node / Sequelize / Express / Angular应用程序。 我已经执行了我的本地机器上的旧架构,并可以查看数据库,表和数据确定。 在我的节点代码中,我需要连接现有的数据库。 我正在学习本教程: http : //redotheweb.com/2013/02/20/sequelize-the-javascript-orm-in-practice.html 当使用sequelize.import并指向一个目录时,我的问题出现了。 这应该是我的本地MySQL目录架构设置? (假设是) 模型是否参考数据库中的表格? 关于如何正确访问现有的关系映射的build议是有帮助的。 这个如果我对Stack的第一个问题,提前谢谢。 var express = require('express'); var http = require('http'); var path = require('path'); var config = require('./config/config'); var Sequelize = require('sequelize'); var app = express(); var db = new Sequelize('somedb', 'root', 'password'); var models = [ 'users' […]

使用UUID错误为NodeJS重新加载并hasMany

我有一个模型'匹配'有很多'MatchRoundTypes' 匹配具有uuid的主键matchRoundTypes引用matchUUID作为其列名匹配。 当我尝试在包含MatchRoundTypes的匹配上进行查找时,我得到: debugging:错误:MatchRoundTypes不匹配匹配! 我的查询如下所示: Matches.findAll({where: ["isPublished = ?", true], include: [MatchRoundTypes]}) 在这之前我已经发布了以下命令: Matches.hasMany(MatchRoundTypes, { as: 'roundMaps', foreignKey: 'matchUUID', useJunctionTable: false}) 我已经尝试了hasMany声明中的许多变体…包括foreignKey而不是等等。 这是我的匹配模型: sequelize.define('Matches', { uuid: {type: Seq.STRING(36), allowNull: false, primaryKey: true}, name: {type: Seq.STRING(64), allowNull: false}, }, {tableName: 'match', freezeTableName: true}) 这是我的MatchRoundTypes模型: sequelize.define('MatchRoundTypes', { { uuid: {type: Seq.STRING(36), allowNull: false, primaryKey: true}, roundTypeUUID: {type: […]

包含和约束的NodeJS Sequelize和FindAll

我正在尝试使用查找全部快速加载我需要在单个查询中的数据包含function。 我的问题是,所有的包括是左外部连接…这是好的,但我没有看到一种方式来添加额外的约束,左外部连接。 我的查询看起来像这样: Matches.findAll( {where: ["match.isPublished = ?", true], include: [RoundMaps, Locations, {model: MemberMaps, as: "MemberMaps", where: ["memberMaps.memberUUID = ?", authenticatedUser.uuid]}]}) 但是这似乎不被支持…至less我写的语法的方式。 我不能将约束添加到左外部连接上的约束…将相同的约束添加到WHERE子句不起作用…因为这只给出了与成员关联的匹配。 我想要所有公开比赛的名单,并且知道哪些成员已经build立了联盟。 可以这样做吗? 续集似乎正在完成大部分事情! 但仍然在一些事情上挣扎。 洞察欢迎! 干杯

如何使用Sequelize for node.js和Heroku Postgres脚本同步和迁移操作?

Sequelize示例build议在app.js server.listen()之前执行此操作,这似乎太有限制了。 你将如何脚本更复杂的同步或迁移?