Проблема настолько проста: я хочу сохранить вложенные объекты с помощью mongoose в mongodb, но когда я их сохраняю, вложенные объекты пусты
Я пробовал другие ответы на эту проблему, но это не решает мою проблему,Нажатие на объект, заполнение и т. Д., Но это работает только тогда, когда вам требуется эта информация, чтобы не сохранять ее.Итак, вот я.
Модель
const mongoose = require('mongoose')
let Schema = mongoose.Schema
const respuestaSchema = new Schema({
resp:{type:String},
value:{type:String}
},{ _id : false })
const preguntasSchema = new Schema({
pregunta:{type:String},
tipo:{type:String},
respuesta:[respuestaSchema]
},{ _id : false })
let testSchema = Schema({
_id:{type:Schema.ObjectId, auto:true},
name: {type:String},
dName:{type:String},
categoria:{type:[Schema.ObjectId],ref:'categoria'},
preguntas:[preguntasSchema]
},{versionKey:false})
module.exports = mongoose.model('test',testSchema)
Тест сохранения:
const Test = require('../models/test')
exports.newTest = function(req,res){
let param = req.body
let nTest = new Test()
nTest.name = param.name
nTest.dName = param.dName
nTest.categoria = param.categoria
nTest.pregunta = param.pregunta
nTest.tipo = param.tipo
nTest.resp = param.resp
nTest.value = param.value
nTest.preguntas.push(nTest)
nTest.save().then(
testSaved=>{
res.status(200).send({accion:'newTest',mensaje:'Test creado correctamente'})
}
).catch(err=>{res.status(500).send({accion:'newTest',mensaje:'Error en creacion de test ' +err})})
}
Я делаю nTest.preguntas.push(nTest)
, чтобы сохранить прегунты и сохранить их, но информацию вэтот объект не появляется, только появляется object [], потому что у preguntas есть другой объект внутри.
Я ожидал увидеть в Compass или Robo3T всю передаваемую мной информацию, но я вижу только информацию, которая не является вложенным объектом,и заголовок вложенных объектов, но пустой.Если вам нужен img захват проблемы в БД, я могу отправить.Надеюсь, вы поможете мне с этой информацией.