У меня есть форма с одним полем, которая позволяет пользователю вводить несколько идентификаторов разработчика через запятую (ab1234, bc5678).
После отправки формы я выполняю следующие задачи:
- Получить проект
- Прокручивать массив идентификаторов разработчиков, чтобы получить их полное имя, используя mySQL
- обновить проект, используя MongoDB
Я новичок и уверен, что это возможно, приведенные ниже коды не работают для меня. Может кто-нибудь, пожалуйста, дайте мне знать, если коды ниже даже близко.
const mongoose = require('mongoose'
const mysql = require('mysql');
// Create mySQL connection
const mySQLdb = mysql.createConnection({
host : 'localhost',
user : 'root',
password : 'root',
database : 'projects'
});
const Project = mongoose.model('project');
router.post('/developerSave', async (req, res) => {
let devList = req.body.dev_ids,
devIdArr = devList.split(','),
rData = {};
// get project
const project = await Project.findById(req.body.projectID);
mySQLdb.connect();
for(var i=0, len=devIdArr.length; i < len; i++) {
let sql = `SELECT CONCAT(first_name, ' ', last_name) as full_name FROM users WHERE id= '${devIdArr[i]}'`;
mySQLdb.query(sql, function (err, results) {
if (err) throw err;
let newDev = {
userId: devIdArr[i],
fullName: results[0].full_name
}
project.developers.unshift(newDev);
await project.save();
});
}
mySQLdb.end();
rData.success = true;
rData.msg = 'Developer was added successfully.';
res.status(200).json(rData);
});