Javascript NodeJS、Express、Sequelize-如何使用bulkCreate动态更改插入数?
大家好,我正在为一个项目使用Node JS、Express JS、Sequelize和EJS模板制作一个应用程序。该应用程序旨在允许员工为其团队成员留下反馈。现在我在应用程序中有了显示问题的功能,这些问题可以从数据库显示到视图。我还可以发布单个插入,例如-作为经理,向user1发送请求,为user2留下反馈 所以,我可以做GET和POST(针对单个插入),但我的问题是,当问题根据角色等不同而有所不同时,我该如何为该反馈表做POST e、 开发人员可以有10个问题,产品所有者可以有8个问题,而且每个问题集都不同Javascript NodeJS、Express、Sequelize-如何使用bulkCreate动态更改插入数?,javascript,node.js,express,sequelize.js,ejs,Javascript,Node.js,Express,Sequelize.js,Ejs,大家好,我正在为一个项目使用Node JS、Express JS、Sequelize和EJS模板制作一个应用程序。该应用程序旨在允许员工为其团队成员留下反馈。现在我在应用程序中有了显示问题的功能,这些问题可以从数据库显示到视图。我还可以发布单个插入,例如-作为经理,向user1发送请求,为user2留下反馈 所以,我可以做GET和POST(针对单个插入),但我的问题是,当问题根据角色等不同而有所不同时,我该如何为该反馈表做POST e、 开发人员可以有10个问题,产品所有者可以有8个问题,而且每
module.exports.questions = function(req, res){
var models = require('../app/models');
var db = require('../app/models/index.js');
var FeedbackQuestions = models.FeedbackQuestions;
var express = require('express');
models.FeedbackQuestions.findAll({
where : { role : req.user.role}
}).then(function(questions){
res.render('selfform.ejs', {
page_title : 'Self-Assessment',
questions : questions,
user : req.user
});
});
};
这就是我渲染文件并向其传递数据的方式。这就是我如何使用在EJS视图中传递的数据
<tbody>
<% for (var i=0; i < questions.length; i++){ %>
<tr>
<td><%=questions[i].question%></td>
<td><%=questions[i].description%></td>
<td> user selection rating </td
</tr>
<% } %>
</tbody>
我创建上述函数是为了使用Sequelize的bulkCreate,但是如何使用动态范围的插入来实现这一点呢?
谢谢您可以创建对象数组并将其添加到bulkCreate中。您将在req中接收所有数据?好的,但是我如何将html中的特定数据放入具有bulkCreate功能的js文件中?我知道有一个app.post('/selfassessment',feedback.bulkCreate)会调用该函数,但由于可能有10个或20个问题,我如何将我想要的值放入数组中,然后在js bulkCreate文件中调用它们?你是如何发布反馈的?我很困惑您在客户端还是服务器端都有问题。@Shaharyar我在server.js文件app.post('/selfassessment',feedback.insertSelfFeedback)中使用它;
module.exports.insertSelfFeedback = function (req, res) {
var models = require('../app/models');
var db = require('../app/models/index.js');
var Feedback = models.Feedback;
var express = require('express');
var selfform = require('../views/selfform.ejs');
var input = JSON.parse(JSON.stringify(req.body));
models.Feedback.bulkCreate([
{
fromuser: req.user.username,
touser: req.user.username,
rating: input.rating,
questionnumber: input.questionnumber,
period: input.period
}
]).then(function () {
res.redirect('/selfassessment');
console.log(input);
return models.Feedback.findAll();
}).then(function (feedback) {
console.log(feedback);
})
};