Проблема: чтобы ввести несколько предписаний (вспомогательный документ) в документ «Пациенты».
Я пытаюсь вставить несколько вспомогательных документов в документ в MongoDb в одном запросе.Я использовал функцию Unshift, чтобы сделать то же самое.Я могу добавить одну запись в документ, используя этот маршрут, но я хочу добавить n номер поддокумента.Когда я пытаюсь отправить несколько вложенных документов, создается только ObjectId. Я не могу добавить данные json в базу данных
Я прилагаю свой маршрут и код схемы для справки.Пожалуйста, помогите мне с тем же.
// @route PUT api/prescription/:patientId
// @desc Add prescription
// @access Private
router.put('/:patientId',auth,adminDocguard, async(req,res)=>{
const {
mediaction,
dosage,
morning,
evening
}=req.body;
const newPrescription={
mediaction,
dosage,
morning,
evening
}
try {
const patient_profile = await Patient.findOne({
patientId: req.params.patientId,
}
);
patient_profile.prescription.unshift(newPrescription);
await patient_profile.save();
res.json(patient_profile);
} catch (err) {
console.error(err.message);
res.status(500).send('Server Error');
}
});
module.exports=router;
const mongoose= require('mongoose');
autoIncrement = require('mongoose-auto-increment');
const config =require('config');
const db=config.get('mongoURI');
var connection = mongoose.createConnection(db);
autoIncrement.initialize(connection);
const PatientSchema = new mongoose.Schema({
name:{
type:String,
required: true
},
phonenumber:{
type:Number,
required:true
},
date: {
type: Date,
default: Date.now
},
slider_1:{
type:Number,
required: true
},
slider_2:{
type:Number,
required:true
},
slider_3:{
type:Number,
required:true
},
prescription:[
{
mediaction:{
type:String
},
dosage:{
type:Number
},
morning:{
type:Number
},
evening:{
type:Number
}
}
]
});
PatientSchema.plugin(autoIncrement.plugin, {
model:'Patient',
field:'patientId',
startAt:1,
incrementBy:1
});
module.exports=Patient=mongoose.model('patient',PatientSchema);
json body:
{
"prescription": [
{
"mediaction": "Crocin123",
"dosage": 200
},
{
"mediaction": "Crocin456",
"dosage": 200
}
]
}