Ich benutze Sequelize 2. Ich versuche im Grunde, eine Validierung, die nur maximal 2 Leute mit einer Rolle gleich Mitglied pro Konto ermöglicht. Zur Zeit bekomme ich einen Fehler:Sequelize Validierungsfehler auf findAll
Unbehandelte Ablehnung Fehler: [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [object Object]
wenn ich eine dev db build ausführen. Übrigens gibt es 8 Datensätze, die ich einfügen möchte.
Wie sollte ich diese Validierung ändern, damit sie ohne diesen Fehler funktioniert? Ich bin neu im Knoten.
module.exports = function(sequelize, DataTypes) {
var MemberAccount = sequelize.define('member_account', {
role: {
type: DataTypes.STRING,
allowNull: false,
validate: {
isIn: {
args: [['member',
'advocate']],
msg: 'Must be member or advocate'
},
hasFewMembers(value, next) {
var self = this;
var v = MemberAccount.findAll({
where: {
role: 'member'
}
,attributes: [[sequelize.fn('COUNT', sequelize.col('role'))]]
})
.then(function(member_count) {
if (self.role=='member' && member_count == 2) {
throw new Error('Only 2 members allowed per account!');
}
return next();
})
.catch(function (err) {
return next(err);
});
return v;
}
danke. also sagst du einfach meine hasFewMembers Funktion in einen hook. beforeCreate. Groß. Ich denke jedoch, dass mein Fehler eine andere Ursache hat und dadurch verursacht wird, wie ich die hasFewMembers-Funktion strukturiere und wie ich die Datenbank aufruft. –