如何将 req.body 包含对象数组映射到节点 js 中的模型以用于 insertmany
How to map req.body contains array of object to a model in node js for insertmany
我正在平均堆栈中开发一个应用程序。在此我想一次插入多个飞镖。
我直接插入 req.body 它工作正常...
// make a connection
mongoose.connect('mongodb://localhost:27017/dart', { useNewUrlParser: true });
// get reference to database
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function () {
console.log("Connection Successful!");
})
app.post('/dart_create', function (req, res) {
console.log('Request body output '
+ JSON.stringify(req.body));
try {
db.collection("darts").insertMany(**req.body**);
console.log("Data inserted successfully");
} catch (e) {
console.log(e);
}
});
但我不想将对象直接传递给 table。我有一个飞镖模型。但是我不知道如何给飞镖模型赋值...
exports.create = (req, res) => {
console.log("inside create data:");
console.log("Body Obj:" +JSON.stringify(req.body));
// Create a Dart
const dart = new Dart({
userName: req.body.userName,
taskDate: req.body.taskDate,
FromTime: req.body.FromTime,
ToTime: req.body.ToTime,
plannedTask: req.body.plannedTask,
remarks: req.body.remarks
});
// Save Dart in the database
console.log("dart Obj:" +JSON.stringify(req.body));
dart.save()
.then(data => {
req.flash("success", "Dart "+dart.userName+" for the date"+dart.taskDate +" Inserted Succesfully");
res.send(req.flash('success'));
console.log('Data saved successfully');
}).catch(err => {
console.log('Error');
res.status(500).send({
message: err.message || "Some error occurred while creating the Dart."
});
});
我试过上面的代码...但是飞镖 Obj:console 只是空的...怎么做...
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var dartSchema = new Schema({
userName: String,
taskDate: String,
FromTime: String,
ToTime: String,
plannedTask: String,
remarks: String
});
module.exports = mongoose.model('darts', dartSchema);
这样试试:
exports.create = (req, res) => {
console.log("inside create data:");
console.log("Body Obj:" +JSON.stringify(req.body));
// Create a Dart
const dart = new Dart();
dart.userName = req.body.userName;
dart.taskDate = req.body.taskDate;
dart.FromTime = req.body.FromTime;
dart.ToTime = req.body.ToTime;
dart.plannedTask = req.body.plannedTask;
dart.remarks = req.body.remarks;
// Save Dart in the database
console.log("dart Obj:" +JSON.stringify(req.body));
dart.save()
.then(data => {
req.flash("success", "Dart "+dart.userName+" for the date"+dart.taskDate +" Inserted Succesfully");
res.send(req.flash('success'));
console.log('Data saved successfully');
}).catch(err => {
console.log('Error');
res.status(500).send({
message: err.message || "Some error occurred while creating the Dart."
});
});
我正在平均堆栈中开发一个应用程序。在此我想一次插入多个飞镖。 我直接插入 req.body 它工作正常...
// make a connection
mongoose.connect('mongodb://localhost:27017/dart', { useNewUrlParser: true });
// get reference to database
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function () {
console.log("Connection Successful!");
})
app.post('/dart_create', function (req, res) {
console.log('Request body output '
+ JSON.stringify(req.body));
try {
db.collection("darts").insertMany(**req.body**);
console.log("Data inserted successfully");
} catch (e) {
console.log(e);
}
});
但我不想将对象直接传递给 table。我有一个飞镖模型。但是我不知道如何给飞镖模型赋值...
exports.create = (req, res) => {
console.log("inside create data:");
console.log("Body Obj:" +JSON.stringify(req.body));
// Create a Dart
const dart = new Dart({
userName: req.body.userName,
taskDate: req.body.taskDate,
FromTime: req.body.FromTime,
ToTime: req.body.ToTime,
plannedTask: req.body.plannedTask,
remarks: req.body.remarks
});
// Save Dart in the database
console.log("dart Obj:" +JSON.stringify(req.body));
dart.save()
.then(data => {
req.flash("success", "Dart "+dart.userName+" for the date"+dart.taskDate +" Inserted Succesfully");
res.send(req.flash('success'));
console.log('Data saved successfully');
}).catch(err => {
console.log('Error');
res.status(500).send({
message: err.message || "Some error occurred while creating the Dart."
});
});
我试过上面的代码...但是飞镖 Obj:console 只是空的...怎么做...
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var dartSchema = new Schema({
userName: String,
taskDate: String,
FromTime: String,
ToTime: String,
plannedTask: String,
remarks: String
});
module.exports = mongoose.model('darts', dartSchema);
这样试试:
exports.create = (req, res) => {
console.log("inside create data:");
console.log("Body Obj:" +JSON.stringify(req.body));
// Create a Dart
const dart = new Dart();
dart.userName = req.body.userName;
dart.taskDate = req.body.taskDate;
dart.FromTime = req.body.FromTime;
dart.ToTime = req.body.ToTime;
dart.plannedTask = req.body.plannedTask;
dart.remarks = req.body.remarks;
// Save Dart in the database
console.log("dart Obj:" +JSON.stringify(req.body));
dart.save()
.then(data => {
req.flash("success", "Dart "+dart.userName+" for the date"+dart.taskDate +" Inserted Succesfully");
res.send(req.flash('success'));
console.log('Data saved successfully');
}).catch(err => {
console.log('Error');
res.status(500).send({
message: err.message || "Some error occurred while creating the Dart."
});
});