MongoDB – Şemalarda Validation İşlemleri

Merhaba,

Bu içeriğimizde; NoSQL temelli veritabanı olan MongoDB üzerinde Node.js ile veritabanı işlemleri icra ederken kullandığımız şemalarda validasyon işlemlerinin nasıl uygulanabileceğini inceliyor olacağız.

Hiç vakit kaybetmeden aşağıdaki modeli ele alırsak;

const mongoose = require("mongoose");

module.exports = mongoose.model("Employees", new mongoose.Schem a({
    _id: Number,
    name: {
        type: String,
        minlength: 4, //Minumum karakter sayısı,
        maxlength: 15, //Maximum karakter sayısı
        required: true //Bu alan boş geçilemez
    }
}));

görüldüğü üzere “name” alanının boş geçilemeyeceğiyle birlikte minimum ve maximum değerleri belirtilmiş bulunmaktadır.
MongoDB - Şemalarda Validation İşlemleri
Gördüğünüz üzere validasyonlardan herhangi birine takınıldığı zaman yukarıdaki gibi doğrulama uyarısı ile karşılaşmaktayız. Eğer ki uyarıyı anlamlı mesaj haline getirmek istiyorsanız aşağıdaki gibi çalışma gerçekleştirmeniz yeterlidir.

const mongoose = require("mongoose");

module.exports = mongoose.model("Employees", new mongoose.Schem a({
    _id: Number,
    name: String,
    surName: {
        type: String,
        maxlength: [20, "'{PATH}' alanına verilen değer '{VALUE}' en fazla '{MAXLENGTH}' karakter alabilir."],
        minlength: [4, "'{PATH}' alanına verilen değer '{VALUE}' en fazla '{MINLENGTH}' karakter alabilir."],
        required: [true, "'{PATH}' alanı boş geçilemez."]
    }
}));

Dikkat ederseniz validasyona değer olarak atanan dizi içerisinde ilk eleman validasyon değerini tanımlarken, ikincisi ilgili validasyona takılındığı zaman verilecek mesajı ifade etmektedir. Burada {PATH}, {VALUE}, {MAXLENGTH} ve {MINLENGTH} anahtar sözcükleri mevcuttur. Bu keywordlerin ne işe yaradığını sırasıyla ele alırsak eğer;

  • {PATH}
    Doğrulamadan geçemeyen alanın adını getirir.
  • {VALUE}
    Doğrulamadan geçemeyen alana verilen değeri getirir.
  • {MAXLENGTH}
    Maximum karakter sınırını getirir.
  • {MINLENGTH}
    Minimum karakter sınırını getirir.

MongoDB - Şemalarda Validation İşlemleri

Sayısal tipteki alanlarda ise aşağıdaki gibi validasyon uygulanabilmektedir;

const mongoose = require("mongoose");

module.exports = mongoose.model("Employees", new mongoose.Schem a({
    _id: Number,
    name: String,
    surName: String,
    age: {
        type: Number,
        min: 5, //Minumum değer
        max: 15 //Maximum değer
    }
}));

ya da

const mongoose = require("mongoose");

module.exports = mongoose.model("Employees", new mongoose.Schem a({
    _id: Number,
    name: String,
    surName: String,
    age: {
        type: Number,
        min: [5, "'{PATH}' alanının minumum değeri {MIN} olabilir."], //Minumum değer
        max: [15, "'{PATH}' alanının maximum değeri {MAX} olabilir."] //Maximum değer
    }
}));

Sonraki yazılarımda görüşmek üzere…
İyi çalışmalar…

Bunlar da hoşunuza gidebilir...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

*

Copy Protected by Chetan's WP-Copyprotect.