Articles of express

sequelize.js:未处理的拒绝SequelizeForeignKeyConstraintError

我试图插入/更新数据到一个postgresql数据库使用以下function: var updateStudentDataAndReturn = function(req, res, { redirectLink: redirectLink, studentId: studentId }) { models.Student.update({ firstName: req.body.firstName, lastName: req.body.lastName, phoneNumber: req.body.phoneNumber, skypeUsername: req.body.skypeUsername, typeOfStudent: req.body.typeOfStudent, school: req.body.school, expectedYearOfGraduation: req.body.expectedYearOfGraduation, TeamId: req.body.TeamId }, { where: { id: studentId } }).then(() => { return models.StudentMajor.destroy({ where: { StudentId: studentId } }) }).then(() => { return models.StudentSchool.destroy({ where: { […]

Node Js + MySql + Express – app.use(bodyParser()); 没有定义 – 错误build立连接到新的SQL方法

我试图映射连接基于路由器文件的数据库中的注册信息,但我没有得到通过路由器文件返回; 菜单导航>转到页面>获取信息到“efetuar venda”>在表sql中发布 index.js var http = require('http'); var express = require('express'); var mysql = require('mysql'); var bodyParser = require('body-parser'); var methodOverride = require('method-override'); var errorHandler = require('errorhandler'); import config from "./config/config"; import mongodb from "./config/mongodb"; import passport from "./config/passport"; import * as setup from "./middleware/setup"; import app from "./config/express"; import routes from "./routes"; import […]

根据查询参数过滤mongodblogging

我在Express.js中编写一个REST API来从mongo数据库中检索一些logging。 为了获得一组logging,我使用了一个标准的GET请求: GET localhost:3000/api/books 现在要实现filter,我使用了express-api-queryhandler 。 代码如下所示: routes.use(queryHandler.filter()); […] .get((req: any, res: Response) => { Book.find(req.where, req.fields, req.options, (err: any, orders: any) => { res.status(200).json(books); }); }); 所以现在当我想要检索一个特定的元素,我可以写如: GET localhost:3000/api/books?name=Harry%20Potter 但是,实施(高于/低于)GT,GTE,LT,LTEfunction的最佳方式是什么? Node.js有没有好的库? 我只在Loopback文档中find了where函数,但是可以使用Loopback和Express吗? 我可以手动编写所有东西,但这不是一个好的解决scheme。 提前致谢。 编辑:我编辑了前面提到的包中的filter.js文件,以便它可以与gt,lt,gte,lte一起使用。 它看起来很安全,但也许有更多的validation更好的select? function filter (query, skip) { var filters = {}; var k; var SKIP_KEYS = [ 'fields', 'limit', […]

SequelizeBaseError:列“…”不存在

遇到使用sequelize表的错误join“belongsTo”和“hasMany; SequelizeBaseError:列videos.eventEventId不存在。 我没有在模型或数据库中的这列,并没有引用路由器中的任何地方 – 不知道为什么这个错误是返回时,我没有这个在我的模型或表? 似乎出现在对事件模型的主键的任何引用上。 const Sequelize = require('sequelize') // Heroku postgres db connection const sequelize = new Sequelize(process.env.DATABASE_URL, { dialect: 'postgres', protocol: 'postgres', define: { timestamps: false, }, dialectOptions: { ssl: true } }); // Connect all the models/tables in the database to a db object, //so everything is accessible via one object […]

Express + MongoDB – req.query的对象

我尝试从MongoDB过滤我的结果。 我正在使用Express。 这是我的console.logs: req.query.filters from URL: http:// localhost:3000 / test?filters =%7Bpersonalbest%3A%7B%27%24gt%27%3A%27170%27%7D%2Cname%3A%7B%27%24gt %27%3A%27M%27%7D%7D 一个由我做的对象来testing它是否适用于我的数据库 {personalbest:{ '$ GT': '170'},名称:{ '$ GT': 'M'}} {personalbest:{'$ gt':'170'},名称:{'$ gt':'M'}} 码: var filters = req.query.filters db.collection('skijumper').find(filters).toArray() 当然,我得到这个错误: MongoError:查询select器必须是一个对象 将这个req.query转换成一个对象的最好方法是什么? 谢谢

在Chrome中发生Sequelize查询和PUT错误

学生问题! 我正在学习使用Sequelize ORM的Node.js / Express和MySQL数据库。 传统上,在我们简单的应用程序中,在使用Sequelize查询MySQL数据库之后,我们将在Express PUT路由中发出res.redirect('/') ,然后类似如下: app.post("/", function (req, res) { db.Burgers.create({ burger_name: req.body.burger_name }).then(function () { res.redirect('/'); }); }); 当使用findOrCreate()方法创build一个sequelize查询时,我遇到了一个问题。 也就是说,我正在努力寻找将res.redirect语句放在AJAX PUT请求上的位置。 出于某种原因,当我在PUT语句的快速path中附加了res.redirect('/')时,Chromenetworking检查器中将看到重复的PUT请求。 第一个PUT请求显示为(localhost:3000 / devour,input:text / plain,status:302)。 Express服务器接收到PUT请求,并且继续查询成功,更新MySQL数据库中正确的表。 但是,Express路由redirect不成功,Chrome Inpector显示错误“PUT http:// localhost: 3000/404(Not Found)”,当我看到networking选项卡时,我看到第二个PUT请求(localhost: 3000 /,input:xhr,status:404)。 这是Express PUT路线: app.put("/devour", function (req, res) { var customerId; // Check to see if the […]

Express res.renderredirect后无法工作

我正在使用Ajax向我的服务器发出PUT http请求。 我在/contact/:id'处理请求,然后redirect到'/contacts' 。 然而,redirect后,视图contacts/index不渲染,但当我只是去浏览器,并访问http://localhost:3000/contacts ,它完美的作品。 当我做console.log(params)在/contacts路线,他们是正确的,因为我希望是。 提前致谢! app.js: var path = require('path'); var express = require('express'); var load = require('consign'); var bodyParser = require('body-parser'); var cookieParser = require('cookie-parser'); var session = require('express-session'); var app = express(); app.set('view engine', 'ejs'); app.use(cookieParser()); app.use(session({secret: 'ntalk', resave: false, saveUninitialized: true})); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true })); app.use('/public', express.static('public')); app.listen(3000, […]

反应路由器不能得到页面

我正在使用反应与快递使用networking包,但反应路由器DOM创build一个错误,即空匹配问题。它不能得到的页面和匹配是空的。 我的路线页码是:routes.js import React from 'react'; import ReactDOM from 'react-dom'; import { BrowserRouter as Router, Route} from 'react-router-dom'; import App from './App.js'; import language from './language.js'; import Page from './Page.js'; const Routes = () => ( <Router> <div> <Route path='/' component={App} /> <Route path='/page' component={Page} /> <Route path='/language' component={language} /> </div> </Router> ) console.log(typeof Routes) […]

来自React的快速POST请求返回空主体

你好,我正在做一个反应/expression应用程序。 我已经能够从我的服务器发出GET请求,但是,我无法发出POST请求。 当我这样做,我的服务器正在返回一个空的身体。 我有身体分析器作为依赖,接受JSON作为内容,但仍然没有运气与空的身体。 我的代码和服务器/客户端的依赖关系如下。 请让我知道,如果你们看到我不。 Index.js const express = require('express'); const path = require('path'); const app = express(); const bodyParser = require('body-parser'); //routes require('./routes/sendMessageToEmail')(app); require('./routes/helloWorld')(app); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true })); app.use(express.static(path.join(__dirname, 'client/build'))); app.get('*', (req, res) => { res.sendFile(path.join(__dirname+'/client/build/index.html')); }); const port = process.env.PORT || 1111; app.listen(port); 例如,当我在我的index.js文件中声明路由的地方切换命令时,在之后声明路由行 app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true })); 行,我得到一个不确定的反对一个空的身体。 邮政路线 […]

CSS文件path在本地主机和文本编辑器上都不起作用

所以,我正在使用Node.js和Express编写用JS编写的URL Shortener。 我刚刚完成前端,但我有一个问题,让CSS工作。 我的项目树看起来像这样: public css main.css views index.html app.js 在我的index.html文件中,我有我的.css文件链接这种方式 <link rel="stylesheet" type="text/css" href="../public/css/main.css"> 而且它使支架编辑器中的网站工作,但是当我启动本地服务器CSS不,我得到 Cannot GET /public/css/main.css 我想这与我在app.js中声明的静态path有关 app.use(express.static(path.join(__dirname, "public"))); 因为当我将index.html中的path更改为/css/main.css所有工作都在localhost上,但是我的本地文本编辑器(Brackets)无法看到该css文件。 我应该怎么做才能在文本编辑器和本地主机上进行开发?