Mangouste schéma de référence et non défini type "ObjectID'
Je suis en train de faire quelques relations entre mes schémas et j'ai quelques problèmes avec ma solution.
Voici mon schéma de périphérique:
var deviceSchema = schema({
name : String,
type : String,
room: {type: mongoose.Types.ObjectId, ref: 'Room'},
users: [{type:mongoose.Types.ObjectId, ref: 'User'}]
});
et voici la salle de schéma:
var roomSchema = schema({
name : String,
image : String,
devices: [{type: mongoose.Types.ObjectId, ref: 'Device'}]
});
Mangouste déclenche une erreur
TypeError: non défini type de
ObjectID
àroom
Avez-vous essayez de nidification
Les schémas? Vous ne pouvez nid à l'aide de références ou de tableaux.
Si je change room: {type: mongoose.Types.ObjectId, ref: 'Room'},
à room: {type: Number, ref: 'Room'},
tout fonctionne. Pourriez-vous m'expliquer pourquoi ce qui se passe?
Vous devez vous connecter pour publier un commentaire.
mongoose.Types.ObjectId
est leObjectId
fonction constructeur, ce que vous voulez utiliser dans les définitions de schéma estmongoose.Schema.Types.ObjectId
(oumongoose.Schema.ObjectId
).Donc
deviceSchema
devrait ressembler à ceci à la place:mongoose.Schema.Types.ObjectId
il travaille. La chose étrange est que, avecmongoose.Types.ObjectId
j'ai été en mesure de créer de l'utilisateur de l'objet et de l'objet de périphérique et n'a de relations entre eux. Erreur affiché lorsque j'ai ajouté le deuxième modèle (Chambre) et y a un rapport entre la Chambre et de l'Appareil