Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Node.js:Can';t使用POST请求在MongoDB中插入表单数据_Javascript_Node.js_Mongodb_Post - Fatal编程技术网

Javascript Node.js:Can';t使用POST请求在MongoDB中插入表单数据

Javascript Node.js:Can';t使用POST请求在MongoDB中插入表单数据,javascript,node.js,mongodb,post,Javascript,Node.js,Mongodb,Post,我试图用脚本将数据插入MongoDB。通过浏览器插入可以,但不是这样。我一直在关注像这样的帖子,但没有成功。我的控制台确实记录了数据,但是它说 body: cannot post 谁能告诉我这个代码有什么问题吗?请求文件: const options = { host: '127.0.0.1', port: '8081', protocol: 'http:', path: '/', method: 'POST', headers: {

我试图用脚本将数据插入MongoDB。通过浏览器插入可以,但不是这样。我一直在关注像这样的帖子,但没有成功。我的控制台确实记录了数据,但是它说

body: cannot post
谁能告诉我这个代码有什么问题吗?请求文件:

const options = {
    host: '127.0.0.1',
    port: '8081',
    protocol: 'http:',
    path: '/',
    method: 'POST',
     headers: {
        'Content-Type': 'application/x-www-form-urlencoded',
        'Content-Length': Buffer.byteLength(data)
    }
};

var http = require('http');
var req = http.request(options);
var querystring = require('querystring');
var opn = require('opn');
var data = querystring.stringify({
      scoutName: 'john',
      scoutSurname: 'doe',
      scoutPassword:'123'

    });
 //opn('http://127.0.0.1:8081/');

    var req = http.request(options, function(res) {
    res.setEncoding('utf8');
    res.on('data', function (chunk) {
        console.log("body: " + chunk);
    });
});

req.write(data);
console.log(data);
req.end();
和服务器文件:

app.post('/scout_post', urlencodedParser,function (req,res){

   var name= req.body.scoutName,
        surname=req.body.scoutSurname,
        password=req.body.scoutPassword;

            db.collection('scoutPost').insertOne(
                { 'name': name, 'surname': surname,'password':password},
                function (err, r) {
                    assert.equal(null, err);
                    res.send("Document inserted with _id: " + r.insertedId);
                }
            );
     console.log("post received: " + name);


})

在Node.js中使用Mongoose处理MongoDB

var mongoose = require( 'mongoose' );
var Employee = mongoose.model( 'Employee' );

exports.addEmployee=function(req,res){                                  

                  var newEmployee=new Employee();

                  newEmployee.email=req.body.email;
                  newEmployee.name=req.body.name;
                  newEmployee.dob=req.body.dob;
                  newEmployee.sex=req.body.sex;
                  newEmployee.department=req.body.department;
                  newEmployee.age=req.body.age;

                  newEmployee.save(function(err,savedEmployee){
                       if(err){
                          var message="Error occured while storing new employee !!!";
                          console.log(message+"\n"+err);
                          res.status(500).send("Error Occured while saving Employee");
                        }else{
                         res.status(201).send(savedEmployee);
                          }
                 });

              }
这是猫鼬模式

var employeeSchema = new mongoose.Schema({
  email: {type: String},
  name: {type: String},
  dob: {type: Date},
  sex:{type:String},
  department:{type:String},
  age:{type:Number}
});

mongoose.model( 'Employee', employeeSchema );

在Node.js中使用Mongoose处理MongoDB

var mongoose = require( 'mongoose' );
var Employee = mongoose.model( 'Employee' );

exports.addEmployee=function(req,res){                                  

                  var newEmployee=new Employee();

                  newEmployee.email=req.body.email;
                  newEmployee.name=req.body.name;
                  newEmployee.dob=req.body.dob;
                  newEmployee.sex=req.body.sex;
                  newEmployee.department=req.body.department;
                  newEmployee.age=req.body.age;

                  newEmployee.save(function(err,savedEmployee){
                       if(err){
                          var message="Error occured while storing new employee !!!";
                          console.log(message+"\n"+err);
                          res.status(500).send("Error Occured while saving Employee");
                        }else{
                         res.status(201).send(savedEmployee);
                          }
                 });

              }
这是猫鼬模式

var employeeSchema = new mongoose.Schema({
  email: {type: String},
  name: {type: String},
  dob: {type: Date},
  sex:{type:String},
  department:{type:String},
  age:{type:Number}
});

mongoose.model( 'Employee', employeeSchema );