sql >> データベース >  >> NoSQL >> MongoDB

新しいドキュメントとして保存せずに、Mongooseスキーマに対してオブジェクトを検証します

    Custom validatorsを使用してこれを行う方法が1つあります。 。検証に失敗すると、ドキュメントをDBに保存できませんでした。

    var peopleSchema = new mongoose.Schema({
            name: String,
            age: Number
        });
    var People = mongoose.model('People', peopleSchema);
    
    peopleSchema.path('name').validate(function(n) {
        return !!n && n.length >= 3 && n.length < 25;
    }, 'Invalid Name');
    
    function savePeople() {
        var p = new People({
            name: 'you',
            age: 3
        });
    
        p.save(function(err){
            if (err) {
                 console.log(err);           
             }
            else
                console.log('save people successfully.');
        });
    }
    

    または、 validate()を使用してこれを行う別の方法 定義したものと同じスキーマを使用します。

    var p = new People({
        name: 'you',
        age: 3
    });
    
    p.validate(function(err) {
        if (err)
            console.log(err);
        else
            console.log('pass validate');
    });
    


    1. Mongo MapReduceは、最新の日付を選択します

    2. ブルーバードとtypescriptのマングースの約束

    3. Mongodbでバイナリデータを効率的に保存および更新するにはどうすればよいですか?

    4. ソース管理用のバイナリではなくテキストとしてのMongoDBバックアップ