首页 > 解决方案 > 如果 Mongoose Schema(req.body) 是对象数组,则无法保存

问题描述

我使用 Angular 6 js 作为客户端框架。从客户端发送到服务器的 req.body 数据是一个对象数组 [ { email: 'Testserver' }, { email: 'Liveserver' }]

但是当我保存时,集合中没有保存任何数据。正在保存一个空的 emailServer 数组。任何建议我哪里出错了?

app.js 文件-:

    const MongooseSchema = require('../models/mongoose')

     app.post('/',(req,res)=>{
     var obj = new MongooseSchema(req.body);
      obj.save((err,success)=>{
       if(err){
           res.send(err)
       }
       res.send(success)
     })

猫鼬.js 文件

    var mongoose = require('mongoose');
    Schema = mongoose.Schema;


   var MongooseSchema = new Schema({

    emailServer : [{
    email : {type:String}

    }]

    },{ collection: "RegisteredUserDetails" })


    module.exports = mongoose.model('MongooseSchema',MongooseSchema)

标签: node.jsmongodbmongoosemongoose-schema

解决方案


您正在创建的文档的结构必须与架构中定义的内容相匹配。发布的数据不包含emailServer字段名称,因此您需要添加:

var obj = new MongooseSchema({emailServer: req.body});

推荐阅读