Mes MongooseArray Schemas/Collection dans un modèle qui a .Create(), .id(), et .remove():Mongoose comment puis-je créer une fonctionnalité
Account: mongoose.model('Account', new Schema({
account_name: String,
company: String,
notes: String,
contact_info: [this.ContactInfo]
})),
ContactInfo: mongoose.model('ContactInfo', new Schema({
name: String,
email: String,
phone: String,
notes: String
}))
Lorsque je tente de faire tout actions sur contact_info cependant, il dit que les méthodes n'existent pas.
var c = new ContactInfo...);
var a = new Account(...);
a.contact_info.create(c); //error, create doesn't exsit
a.contact_info.push(c); //works
a.contact_info.id(...).remove(); //id doesn't exist
Est-ce que je fais quelque chose de mal?
Mon code complet est ici (pas trop de celui-ci): https://github.com/nycitt/node-survey-builder-api-server/blob/master/accounts.js
Je reçois l'entrée de Backbone.js par la façon dont
Essayé cela (repoussé). Malheureusement, je reçois toujours la même erreur –
@AnatoliyZaslavskiy La référence peut être à la 'Schema' plutôt que le' Model': http://mongoosejs.com/docs/subdocs.html. Essayez 'contact_info: [ContactInfo.schema]' ([ref] (http://mongoosejs.com/docs/api.html#model_Model-schema)) à la place. –
Maintenant, j'ai un problème vraiment étrange. .create() fonctionne (aucune erreur). En fait, il crache même un identifiant pour le contact que je viens de créer. Cependant, quand je regarde dans ma base de données, rien n'est là (tableau vide), et quand je fais un.contact_info.id (ID) il renvoie null. Que pensez-vous qu'il se passe à l'information de contact que je viens de créer? (Source mise à jour dans repo) https://github.com/nycitt/node-survey-builder-api-server/blob/master/accounts.js#L108 –