当前位置: 首页 > 知识库问答 >
问题:

TypeError:无法在字符串“{”[object object]“上创建属性”_id“:”“}”

轩辕源
2023-03-14

我的server.js:

//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);
});

我发布的数据如下:

 my app.component.ts:

 saveDetails(movieObj){
            //Note: I am getting the movie object here
            this.moviesService.saveMovie(movieObj).
                                            subscribe((data=> 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);
       });
});

我得到的输出是{“_id”:“590aad3ec7133419f056bc77”,“\”{\\“[object object]\\”:\\“\\”\\“_id\\”:\\“590aa9c455f16d0eb440673e\\”}\“:”}]

当点击http://localhost:3000/api/movies URL时。

注意:目的是在MongoDB中保存数据。

共有1个答案

钮鸿煊
2023-03-14

MongoDB接受对象,而您传递的是字符串

错了

var jsontest = JSON.stringify(movieObj); 

正确

var jsontest=movieObj;
 类似资料:
  • 问题内容: 我正在尝试使用Weka的Java API创建新的字符串属性… 通读API javadocs,看来这样做的方法是使用以下构造函数: 但是我对应该传递给attributeValues参数的方式感到困惑… 当我放入null时,Java会 在放入Null时抱怨受保护的对象,当我放入Null时,这是语法错误, 当它 创建一个新对象时,它将变为名义上的属性,而不是字符串属性… 然后将fv传递给参数

  • 我正在学习Oracle.com上的基本I/O教程,但我在创建Path对象方面遇到了困难: 我在Linux上,我在Eclipse Kepler中工作。我正在尝试访问当前目录中的一个文本文件。使用扫描仪和文件,我可以处理文件,但我也想摆弄一个文件的路径,这样我就可以继续与教程。 编辑:整个程序如下所示。后半部分是我作为一个菜鸟,并确认文件存在/工作。当我注释掉路径定义时,我会得到“test”的输出,它

  • 问题内容: 我是ReactJS的新手,遇到一些问题。 我还了解了语法,它说以下代码具有相同的含义。 1。 2。 但是,第一种方法引发此错误 问题答案: YTSearch({key: API_KEY, term: ‘nba’}, function(videos) { this.setState({ videos }); }); 引发错误,因为在此回调内部并未引用函数本身的上下文,因此此处未定义。 在

  • 我在尝试使用nokogiri运行rake任务时遇到这个错误。 编辑:顶部表架构

  • 在将Spring Boot应用程序从Spring Boot 1.4.0迁移到Spring Boot 2时,我开始在尝试从。properties文件读取属性时出错。 在属性文件中,属性定义为: 在我的一个类中,我通过注释导入属性,如下所示: 有什么线索知道哪里会出错吗?我使用的是Spring Boot2.0、Spring5、Java11和Tomcat8.5.35。谢了!

  • TypeError:无法读取应用程序上未定义的属性“collection”。在图层上发布(/home/niko/Desktop/opa/app.js:17:38)。在route的下一个(/home/niko/Desktop/opa/node_modules/express/lib/router/layer.js:95:5)中处理[as handle_request](/home/niko/Desk