Je Mongoose instance de modèle:Définition des propriétés d'instance de modèle Mongoose avec "étendre" util
var s = new Song({
song_id: '123',
title: 'sample song',
artist: {
name: 'sample artist',
id: '456'
}
});
Maintenant, je voudrais mettre/mettre à jour ses propriétés, mais en utilisant extend
(par exemple à partir util._extend nodejs)
s = extend(s, {
title: 'changed title',
artist: {
name: 'changed artist',
id: '789'
}
});
s.save();
Et tandis que title
(en tant que propriété de niveau supérieur) est défini sur OK, les modifications dans artist
ne sont pas visibles.
Je sais que je peux le mettre via:
s.artist.name = 'changed artist';
mais est-il quelque chose que je manque ou est cette façon de propriétés de mise à jour non utilisables?
EDIT
Gah ... On dirait que le schéma défini par quelqu'un dans le mauvais sens. Au lieu de artist
champ défini comme
artist: {
name: String,
id: String
}
il a été défini comme
artist.name: String,
artist.id: String
Quand je redéfinie en cela fonctionne maintenant. Merci
Gah ... On dirait que quelqu'un a mal défini le schéma. au lieu de 'artist: {name: String, id: String}' il était défini comme 'artist.name: String, artist.id: String'. Quand je l'ai redéfini, ça marche maintenant. Merci –