Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
420 views
in Technique[技术] by (71.8m points)

node.js - 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

question from:https://stackoverflow.com/questions/65939276/how-i-can-post-request-body-array-to-mongodb-using-nodejs-and-mongoose

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
Waitting for answers

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...