2016-06-12 10 views
0

私は同じような動作を達成しようとしています。 MySQLのMongoose - スキーマのパスが指定されたプロパティと一致するかどうかを検証します。

不明な列 '...' 'フィールドリスト'

に、私は2つのファイル

1持っている - モデル/ user.jsの

// ... 
let user = new mongoose.Schema({ 
    forename: String, 
    surname: String 
}); 

user.pre('save', (next)=> { 
    // can I do the validation here ? 
    next(); 
}); 
// ... 

2 - シーダー.js

// ... 
let user = require('./models/user'); 

let usr = new user({name: "some forename", surname: "some surname"}); 

usr.save((error, response)=>{ 
    // ... 
}); 
// ... 

私がしたいことは、nameプロパティがスキーマパスにないというエラーをスローすることです。

アイデア?あるいは、この種のバリデーションのカスタムメソッドでmongoose.Schemaを拡張するカスタムクラスを作成する必要がありますか?

答えて

0

事前保存ミドルウェアの実行時にMongoose検証が実行されるため、検証コードを入力するのに適しています。検証についてはdocsをご覧ください。

+0

有効なスキーマパスではないデータの保存を避けたい場合は、デフォルトで無視されます。あなたがしようとしているように、あなたがそれを実装する必要がありますが、エラーが欲しい場合。 –

関連する問題