Tag: sequelize.js

Sequelize:TypeError:User.hasMany不是一个函数

我有这个奇怪的行为。 我有一个用户模型和一个客户端模型。 用户有很多客户端。 我正在使用这个文档: http : //docs.sequelizejs.com/manual/tutorial/associations.html 当我运行服务器,Sequelize引发TypeError:User.hasMany不是一个函数 节点版本: 8.9.1 方言: postgres 数据库版本: Postgres 10 续集版本: 4.22.15 以下文件全部在同一个文件夹中 user.js模型 const Sequelize = require('sequelize'); const db = require('../index.js'); //This is an instance of new Sequelize(…) const tableName = 'users'; const User = db.define('user', { firstName: { type: Sequelize.STRING(50), allowNull: false, validate: { notEmpty: true } }, […]

Sequelize.js – asynchronousvalidation器

有没有可能有一个asynchronousvalidation使用Sequelize.js? 我想在保存模型之前检查一个关联的存在。 像这样的东西: User = db.define("user", { name: Sequelize.STRING }, { validate: hasDevice: -> @getDevices().success (devices) -> throw Exception if (devices.length < 1) return }) # …. Device is just another model User.hasMany(Device) 还是有办法强制检查同步运行? (不理想)

使用sequelize在模型/实例中存储和检索JSON对象

我正在寻求利用一个大项目的续集,并希望我可以用它来存储一个JSON对象作为一个模型中的属性。 我觉得我正在为此而挣扎,但也许我错过了一些简单的东西? 我正在定义一个模型( Context )如下: var contextProperties = { contextName: { type: Sequelize.STRING, validate: { is: ["[az]",'i'], notEmpty: true } }, _trackList: {type: Sequelize.TEXT}, trackList: {type: Sequelize.TEXT} } var contextGetSet = { getterMethods: { trackList: function(){ return JSON.parse(this._trackList); } }, setterMethods: { trackList: function(v){ this._trackList = JSON.stringify(v); } } }; var Context = sequelize.define('Context', contextProperties, […]

我如何创build一个与关联的续集的logging

我有2个模块的候选人,angular色和angular色可以有许多候选人在模式中映射到它。 role.js module.exports = function(sequelize, DataTypes) { var Role = sequelize.define('Role', { name: DataTypes.STRING, level: DataTypes.STRING, job_desc: DataTypes.STRING(500) }, { associate: function(models) { Role.hasMany(models.Candidate); Role.hasMany(models.Requisition); } }); return Role; } candidate.js module.exports = function(sequelize, DataTypes) { var Candidate = sequelize.define('Candidate', { full_name: DataTypes.STRING, status: DataTypes.ENUM('REJECT', 'WAIT', 'HIRE') }); return Candidate; } 并在创build一个候选人时,如何将一个role_id映射到DB中的候选人? app.post('/candidate/create', function (req, […]

我应该在服务器启动时运行所有的后续迁移吗?

我对Sequelize中如何处理迁移有点困惑。 它在文档中被告知 migrator.migrate …将执行您的未决迁移中的所有up方法 挂起是否意味着Sequelize跟踪哪些迁移已经在手头的数据库上运行,哪些没有在某些永久存储中? 如果是这样,是否意味着我应该在应用程序启动时加载迁移文件夹中的所有迁移并尝试运行它们? 如果没有,最好的做法是跟踪哪些迁移应该在当前服务器上运行?

你如何正确地访问从一个sequelize实例定义的模型?

我已经看过这个语法来从Sequelize实例访问定义的模型: var sequelize = new Sequelize('database', 'username'[, 'password']); var Project = sequelize.define('Project', { title: Sequelize.STRING, description: Sequelize.TEXT }); sequelize.Project.build({}); 但是,当我在1.7.0上自己尝试时: console.log(sequelize.Project); 返回undefined 有没有其他的方法或正确的方法来完成这个?

Sequelize错误 – lodash没有方法“模板”

我刚刚通过npm安装了Sequelize和MySQL模块,并且遇到了一个错误。 我可以成功查询我的模型,但试图创build一个新的模型实例导致query-generator.js文件中的错误。 我的代码: var Sequelize = require('sequelize') , sequelize = new Sequelize('databasename', 'username', 'password'); var User = sequelize.define('users', { email: Sequelize.STRING, fname: Sequelize.STRING, lname: Sequelize.STRING, }); // WORKS User.find(1) .success(function(user) { console.log('User found'); }). error(function(err) { console.log('Error locating user', err); }); // FAILS User.create({ email : 'test@example.com', fname : 'John', lname : 'Doe' }) .success(function(user) […]

生成的NodeJS Express应用程序不“听”?

在运行express ,生成的app.js如下所示:(在这篇文章的date) var express = require('express'); var path = require('path'); var favicon = require('static-favicon'); var logger = require('morgan'); var cookieParser = require('cookie-parser'); var bodyParser = require('body-parser'); var routes = require('./routes/index'); var users = require('./routes/users'); var app = express(); app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'jade'); app.use(favicon()); app.use(logger('dev')); app.use(bodyParser.json()); app.use(bodyParser.urlencoded()); app.use(cookieParser()); app.use(express.static(path.join(__dirname, 'public'))); app.use('/', routes); app.use('/users', users); […]

Sequelize:构build和保存包含数组的对象

在Sequelize.js中构build和保存时,是否可以指定一个数组,或者必须在一个单独的sequelize构build中完成? 模型定义: var Tag = sequelize.define('Tag', { name: Sequelize.STRING }); var Event = sequelize.define('Event', { name: Sequelize.STRING, }); Event.hasMany(Tag, {as: 'tags', through: 'event_tags', foreignKey: 'eventId'}); Tag.hasMany(Event, {as: 'events', through: 'event_tags', foreignKey: 'tagId'}); 我问的是如果这是可能的: Event.build({ name: 'blah', tags: [{id: 53, name: someTag}, {id: 54, name: otherTag}] }).save().success(function(event) {…}); 如果这是不可能的,我必须为每个eventTag关联做一个构build? Event.build({ name: 'blah', }).save().success(function(event) { // …How? […]

续集js节点事务

我现在是新来的sequelize现在我有点困惑如何使用续集的交易。 我的项目启动可以同时调用的事件,这里是一个最小化的例子,有两个事件eventA或eventB和一个最小化的模型User。 var Sequelize = require('sequelize'); module.exports = function(sequelize, DataTypes) { return sequelize.define('Uer', { stuff: { type: Sequelize.STRING, defaultValue: "" } }, { classMethods: { getAllUsers : function (resultsCallback) { this.findAll().complete(function(err, users) { resultsCallback(err, users); }) } }, instanceMethods: { update1: function (transaction) { var stuff = this.stuff + "1"; this.updateUserAttributes(document, transaction, function(err, results){ }); […]