2017-03-24 3 views
0

Ich erhalte diesen Fehler, wenn ich versuche, ein Objekt in ein Array von Unterdokumenten zu verschieben.Mongoose-Fehler Kann die Eigenschaft 'baseCasterConstructor' von undefined nicht lesen

Das ist mein Modell:

let imagemSchema = new mongoose.Schema({ 
    titulo: String, 
    descricao: String, 
    arquivo: String 
    }) 

let imovelSchema = new mongoose.Schema({ 
    imagens: [imagemSchema] 
}) 

module.exports = mongoose.model('Imovel', imovelSchema) 

Wenn ich versuche, ein Imovel Objekt zu finden und eine Imagem schieben, um es imagens Eigenschaft ist, bekomme ich folgende Fehlermeldung:

Cannot read property 'baseCasterConstructor' of undefined

Ich fange zu denken, dass dies ein Problem mit Mungo selbst sein kann.

Kann mir jemand helfen?

Vielen Dank im Voraus

+0

fügen Sie bitte Code wie Sie versuchen, das Objekt – kaxi1993

+0

zu finden und zu schieben. findImovel = imovelModel.findById (req.params.id) .exec() findImovel.then (imo vel => { try { let Imagem = req.body lassen arquivo = req.file.filename imagem.arquivo = arquivo imovel.imagens.push (Bild) –

Antwort

0

Ich fand die Lösung! Das Problem hängt mit der Art zusammen, in der ich versuchte, das Objekt auf das Child-Array zu verschieben.

Dieser Beitrag pushing object into array schema in Mongoose half mir, die Art und Weise zu lösen Ändern ich von

let findImovel = imovelModel.findById(req.params.id).exec() 
    findImovel.then(imovel => { 
    let imagem = req.body 
    let arquivo = req.file.filename 
    imagem.arquivo = arquivo 
    imovel.imagens.push(imagem) 

Um

let imagem = req.body 
    let arquivo = req.file.filename 
    imagem.arquivo = arquivo 

    imovelModel.findByIdAndUpdate(req.params.id, 
     {$push: {'imagens' : imagem}}, 
     {safe: true, upsert: true}).then(() => { 
     return res.send() 
     }) 

Und es funktionierte zu drücken versuchte, wie ich es erwartet hatte

Verwandte Themen