5

您好,我正在使用 Node、Express 和 Mongo 创建示例 REST api。我正在使用 bodyParser() 中间件来解析表单数据。它适用于简单的对象说

         var user = {
             name:'test',
             age:'20'
         }

req.body产生相同的格式集以将其保存在 mongodb 中。

         {
             name:'test',
             age:'20'
         }

使用复杂对象时

         var user = {
                 name:'test',
                 age:'20',
                 education: {
                     institute:"xxx",
                     year:2010
                 }
            }

req.body产生不同的格式,例如

           {
                 name:'test',
                 age:'20',
                 education[institute]: "xxx",
                 edcuation[year]:2010
            }

我想获得与我在正文中发布的相同格式以将它们保存在数据库中。这是正确的方法还是任何其他可用的方法?

4

1 回答 1

9

我认为,文档中并不清楚。我花了几个小时才找到它。反正..

您应该将 body-parser 选项更改extended: true为如下所示。

app.use(bodyParser.urlencoded({ extended: true));

https://github.com/expressjs/body-parser?_ga=1.163627447.940445150.1418712389#bodyparserurlencodedoptions

于 2015-01-07T12:33:59.747 回答