title: TypeError: Cannot create property '_id' on string '{"[object Object]":""}'
body: <p>I'm trying to post form data, but I'm getting the following error on submit:</p>
  
  <blockquote>
    <p>TypeError: Cannot create property '_id' on string '{"[object Object]":""}'.</p>
  </blockquote>
  
  <p>My post was successfully captured:</p>
  
  <blockquote>
    <p>Movie {id: "8", firstname: "test", lastname: "test", hero: "test", photo: "xxxxxxxx"}</p>
  </blockquote>
  
  <p>But the data is not saved in MongoDB. I'm using the MEAN stack with Angular2.</p>
  
  <p>My <strong>server.js</strong>:</p>
  
  <pre><code>//Need to write the Express code
  
  var express = require('express');
  var path = require('path');
  var bodyParser = require('body-parser');
  
  var indexApi = require('./routes/index');
  var movieApi = require('./routes/movie');
  
  var port = 3000;
  
  var app = express();
  
  // parse application/x-www-form-urlencoded
  app.use(bodyParser.urlencoded({ extended: false }));
  app.use(bodyParser.json());
  // parse application/vnd.api+json as json
  //app.use(bodyParser.json({ type: 'application/json' }))
  
  app.use('/',indexApi);
  // Register the movie.js file
  app.use('/api',movieApi);
  
  // View Engine
  app.set('views',path.join(__dirname, 'views'));
  app.set('view engine','ejs');
  app.engine('html',require('ejs').renderFile);
  
  // Set static folder so that our all the things we read from client folder
  app.use(express.static(path.join(__dirname,'client')));
  
  app.listen(port,function(){
    console.log("Server started at port number : "+ port);
  });
  </code></pre>
  
  <p>I post the data as follows:</p>
  
  <pre><code> my app.component.ts:
  
   saveDetails(movieObj){
              //Note: I am getting the movie object here
              this.moviesService.saveMovie(movieObj).
                                              subscribe((data=&gt; this.movieObj = JSON.stringify(data._body);
                                              console.log(this.movieObj);
                                               );
  
     }
  
    and movies.service.ts: 
  
      saveMovie(movie){
         //Note: I am getting the movie object here also
         var headers = new Headers();
         headers.append('Content-Type', 'application/x-www-form-urlencoded');
         return this.http.post('http://localhost:3000/api/movie',
                                          movie, {
                                          headers: headers});
      }
  
      movie.js:
  
      router.post('/movie',function(req,res){
          console.log("Under Post call....");
         var movieObj= req.body;
  
         // Note: here in the console everthing is comming as undefined thats is the problem
         console.log("[_id]"+movieObj._id+"[id]"+movieObj.id+"[firstname]"+movieObj.firstname+"[lastname]"+movieObj.lastname+"[hero]"+movieObj.hero+"[photo]"+movieObj.photo);
  
          db.movies.save(movieObj,function(err,docs){
              if(err){
              res.send(err);
               }
               res.json(docs);
         });
  });
  </code></pre>
  
  <p>The output what i am getting is {"_id":"590aad3ec7133419f056bc77","\"{\\"[object Object]\\":\\"\\",\\"_id\\":\\"590aa9c455f16d0eb440673e\\"}\"":""}]</p>
  
  <p>When hitting the <a href="http://localhost:3000/api/movies" rel="nofollow noreferrer">http://localhost:3000/api/movies</a>  url.</p>
  
  <p>Note: 
  The aim is to save data in MongoDB.</p>