如何将 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."
    });
});