MongoDB veritabanına bağlanmak

MongoDB veritabanına bağlanmak

Gerekli yazılım

Bu dersi takip edebilmek için MongoDB veritabanı kurulu olması gerekiyor.

MongoDB kurulum dersine bakabilirsiniz.

Kurulumdan sonra bir kaç kayıt eklediğinizden emin olunuz.

MongoDB veritabanına bağlanmak

Öncelikle kaynak dizininde bulunan ana.d kütüğünü bir metin düzenleyici ile açalım.

emacs kaynak/ana.d

İçindeki kaynak kodu değiştirip, şunları girelim.

import vibe.http.server : İstek = HTTPServerRequest;
import vibe.http.server : Yanıt = HTTPServerResponse;
import vibe.http.server : sunucuyuBaşlat = listenHTTP;
import vibe.http.server : SunucuAyarları = HTTPServerSettings;
import vibe.core.log : bilgiVer = logInfo;
import vibe.http.router : Yönlendirici = URLRouter;
import vibe.db.mongo.mongo : bağlan = connectMongoDB;
import vibe.db.mongo.collection : name;
import vibe.core.core: çalıştır = runApplication;
import vibe.data.bson;

void günlük(İstek istek, Yanıt yanıt)
{
    bilgiVer("Veritabanına bağlanıyorum...");

    auto veritabanı = bağlan("127.0.0.1").getDatabase("kiraz");
    auto kullanıcılar = veritabanı["kullanıcılar"];

    bilgiVer("Veritabanını sorguluyorum...");

    Bson sorgu = Bson(["şifre" : Bson("çokgizli")]);

    auto sonuç = kullanıcılar.find(sorgu);

    bilgiVer("Sonuçları gösteriyorum...");

    foreach (i, kayıt; sonuç.byPair)
        bilgiVer("Kayıt %d: %s", i, kayıt.toJson().toString());

    yanıt.writeBody("İşlem başarılı");
}

void main()
{
    auto yolAtayıcı = new Yönlendirici;
    yolAtayıcı.get("/günlük", &günlük);

    auto ayarlar = new SunucuAyarları;
    ayarlar.port = 8080;
    ayarlar.bindAddresses = ["::1", "127.0.0.1"];
    sunucuyuBaşlat(ayarlar, yolAtayıcı);

    bilgiVer("Lütfen tarayıcınızla http://127.0.0.1:8080/ adresini açınız.");
    çalıştır();
}

Kiraz dizininin içinde iken dub komutu ile uygulamayı derleyip, çalıştıralım.

dub

Tarayıcınızla http://localhost:8080/günlük adresini açtığınızda, işlemin başarılı olduğuna dair bir ileti görebilirsiniz.

Komut satırından uygulamanın günlük çıktısına bakarsanız yaptığımız sorguya uyan kayıtların gösterildiğini görebilirsiniz.

MongoDB ile veritabanından kayıt okumak

Kaynak kodun açıklaması

Geliştirdiğimiz uygulamada şifresi çok gizli olan kullanıcıları bulmaya çalışıyoruz.

Yol atayıcı gelen talepleri günlük adresine yönlendiriyor.

Yukarıdaki günlük işlevinde auto veritabanı ile başlayan kısımda veritabanı bağlantısı sağlanıyor.

Kiraz veritabanında oluşturduğumuz belge ağacına veritabanı["kullanıcılar"]; şeklinde erişebiliyoruz.

Bson aslında Json veri biçiminin ikili olarak saklanmasıdır.

Hatırlarsanız ilk oluşturduğumuz kayıt şuna benziyordu :

{
    "_id" : 1,
    "isim" : "Erdem",
    "şifre" : "çokgizli"
}

Sorgu ile şifresi çokgizli olan kullanıcıları bulmaya çalışıyoruz.

Bu sorguyu çalıştırdıktan sonra dönen değeri auto sonuç değişkenine atıyoruz.

foreach kullanımına diğer başka programlama dillerinden aşinalık kazanmış olabilirsiniz.

Burada diğer programlama dillerinden farklı olarak sonuç.byPair ifadesi ile bir çift değişkeni ekrana yazdırabiliyoruz.

Kayıtların Bson biçiminde saklandığını ifade etmiştik.

Kayıtları ekrana yazdırmak için önce Json, sonra da dizge biçimine çeviriyoruz.

kayıt.toJson().toString() ifadesi tam olarak bunu yapıyor.

Uygulamanın kaynak kodunu indirmek

Uygulamanın kaynağını buradan indirebilirsiniz.

Eğer git kullanarak indirmek indirmek isterseniz

git clone https://codeberg.org/erdem/kiraz.git --branch Ders3

komutu ile bu dersi indirebilirsiniz.

Yorumlar

yorum yaz

Yorum yaz

Henüz yorum yok.