PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Ajouter une propriété à l'objet renvoyé par Sequelize FindOne

Le Model Sequelize la classe (dont vos chats sont des instances) a un toJSON() méthode que res.json utilisera probablement pour sérialiser vos chats. La méthode renvoie le résultat de Model#get() (https://github.com/sequelize/ séquelle/blob/95adb78a03c16ebdc1e62e80983d1d6a204eed80/lib/model.js#L3610-L3613 ), qui utilise uniquement les attributs définis sur le modèle. Si vous souhaitez pouvoir définir le nom des chats, mais pas stocker les noms dans la base de données, vous pouvez utiliser une colonne virtuelle lors de la définition de votre modèle de chat :

sequelize.define('Cat', {
  // [other columns here...]
  name: Sequelize.VIRTUAL
});

Sinon, si vous ne souhaitez pas ajouter de propriétés à la définition du modèle :

cat = cat.toJSON(); // actually returns a plain object, not a JSON string
cat.name = 'Macavity';
res.json(cat);