2021年2月2日星期二

How I can post Request Body array to MongoDb using Nodejs and Mongoose

I am trying the following things:

1 Getting request body (Which is embedded with an Array).

2 Then After getting the request body I am trying to save all the objects in the array into my key of schema called "ExtraInfo".But When I run the API My "ExtraInfo" key has only object id without data.

I have Explained my whole question with my code and in my API Code, I have mentioned my logic with a comment where I am trying to push my array data to my "ExtraInfo" key.

Model:

 const mongoose = require('mongoose');     const ExtraInfoModel = mongoose.Schema({   title:String,   body:String,   date: Date  })    const EmbeddedDataModel = mongoose.Schema({  class:Number,  ExtraInfo:[ExtraInfoModel],  })    module.exports = mongoose.model('EmbeddedDataCluster',EmbeddedDataModel);  

RequestBody:

{    "class":"96",    "ExtraInfo":[        {            "title":"new1",            "body":"dummy1"        },        {            "title":"new2",            "body":"dummy2"        },        {            "title":"new3",            "body":"dummy3"        },        {            "title":"new4",            "body":"dummy4"        },        {            "title":"new5",            "body":"dummy5"        }    ]  }  

Now My Api

 Router.post('/Embed', async (req, res) => {    const _ExtraInfo = await req.body.ExtraInfo;    console.log(_ExtraInfo);    try {        const _EmbeddedDataModel = await new EmbeddedDataModel({            class: req.body.class,            ExtraInfo:{$push:{$in:_ExtraInfo}}//Here is trying to loop through            //each object from array and trying to push in Key But when the Data            // saved the "ExtraInfo" key is empty and only have object id                  });        _EmbeddedDataModel.save();        console.log(_EmbeddedDataModel);        res.json(_EmbeddedDataModel);    } catch (error) {        console.log(error);        res.json(error);    }  })  

Result of DB:

 {       "_id": "601a1f0e9fcda33570f9e26b",       "class": 96,       "ExtraInfo": [           {               "_id": "601a1f0e9fcda33570f9e26c"           }       ]   }  

Please Help me

https://stackoverflow.com/questions/65939276/how-i-can-post-request-body-array-to-mongodb-using-nodejs-and-mongoose January 28, 2021 at 10:37PM

没有评论:

发表评论