2017-04-21 8 views
0

J'ai deux schémas. J'essaie d'intégrer un tableau d'objets de type FAQ. Mais je reçois l'erreur suivanteTableau de sous-documents dans Mongoose

Undefined type 'undefined' at array 'eventFAQs'

Je sais que je manque un concept fondamental de tableau d'objets. Mais j'ai passé beaucoup de temps à essayer de trouver la raison et je ne pouvais pas la résoudre moi-même.

+0

dans le code, il y a une bonne fait une erreur en tapant ici ... –

Répondre

0

Essayez avec:

"eventFAQs": { 
    type: [ EventFAQSchema ], 
    default: [{ 
     question: "default question", 
     answer: "default answer" 
    }] 
} 

EDIT

model.js

const mongoose = require('mongoose'); 

const EventFAQSchema = mongoose.Schema({ 
    question: { type: String, required: true }, 
    answer: { type: String, required: true } 
}); 

const EventSchema = mongoose.Schema({ 
    "title": { type: String }, 
    "description": { type: String }, 
    "eventFAQs": { 
     type: [ EventFAQSchema ], 
     default: [{ 
      question: 'Question', 
      answer: 'Answer' 
     }] 
    } 
}); 

module.exports = mongoose.model('Event', EventSchema); 

Utilisation:

const Event = require('./model.js'); 

var e = new Event({ 
    title: "Title" 
}); 

e.save(function (err) { 
    console.log(err); // NO ERROR 
}); 

Résultat:

{ 
    "_id" : ObjectId("58f99d1a193d534e28bfc70f"), 
    "title" : "Title", 
    "eventFAQs" : [ 
     { 
      "question" : "Question", 
      "answer" : "Answer", 
      "_id" : ObjectId("58f99d1a193d534e28bfc70e") 
     } 
    ], 
    "__v" : NumberInt(0) 
} 
+0

n'a pas aidé en fait, toujours la même erreur –

+0

Vraiment? Cela fonctionne pour moi, je vais ajouter mon code. – luisenrike

+0

Cela me donne un document incorporé, où j'ai besoin d'un tableau de documents incorporé –