node.js - 使用 req 参数解析对象并保存在 mongoose schema 中

标签 node.js mongodb mongoose

我有一个嵌套对象,我可以正确获取该对象,但无法将嵌套对象值存储在架构中。以下是我的代码片段:

header.js 路由器文件

router.post('',(req, res)=>{
    //console.log(req.body)
    const header = new headerModel({
        register:{
            name: req.body.name,
            url: req.body.url
        },
        logo:{
            image: req.body.image,
            altText: req.body.altText,
            url: req.body.url
        }
    })
    console.log(header)
})
module.exports = router

Header.js 架构文件

const mongoose = require('mongoose')

const headerSchema = mongoose.Schema({
    register: {
        name: {
            type: String
        },
        url: {
            type: String
        }
    },

    logo: {
        image: {
            type: String,
        },
        altText: {
            type: String
        },
        url: {
            type: String
        },

    }

})

module.exports = mongoose.model('header', headerSchema)

JSON

{
"register":{
        "name":"Register",
        "url":"/register"
    },
"logo":{
    "image":"/imagePath/ab.png",
    "alttext":"Home",
    "url":"/"
}
}

我需要将 name 和 url 的值分别存储在 Router File 中的 register 和 signin 对象中

登录控制台时路由器文件中的 header 不包含注册或 Logo

最佳答案

因为你从JSON获取数据的方式是错误的,而且你还没有保存header。您可以通过以下方式解决:

let header = new headerModel({
    register:{
        name: req.body.register.name,
        url: req.body.register.url
    },
    logo:{
        image: req.body.logo.image,
        altText: req.body.logo.altText,
        url: req.body.logo.url
    }
})
header.save(function (err, doc) {
  // Do some thing you want
})

相关信息可查询here .

关于node.js - 使用 req 参数解析对象并保存在 mongoose schema 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57107160/

相关文章:

node.js - 我可以在 Typegoose 中使用私有(private)属性吗?

node.js - Node webkit 错误 : please install sqlite3 package manually

java - MongoDB Java 驱动程序 : Convert BsonDocument to Document and back

java - Spring Boot 数据 - 未找到属性注册

mongodb - 在spring中使用嵌入式mongo仅用于本地测试

node.js - 如何从 Mongoose 的填充模型中查找文本?

javascript - 无法读取未定义的属性 'user_first_name'

javascript - 如何将命令行参数传递给 Node.js 程序?

javascript - 如何使用 Jade 呈现 node-mssql 语句的返回值?

node.js - 如何以编程方式将 factor-bundle 与 browserify 一起使用?