Vala ile MongoDB veritabanı kullanımı

Vala programlama dili ile MongoDB veritabanı kullanımı

Vala ile MongoDB kullanımı

Vala C kodu üretebilen hızlı çalışan bir programlama dilidir.

Bu derste Vala ile MongoDB kullanımını öğreneceğiz.

Neler gerekli ?

Mongo C sürücüsü

Öncelikle Mongo veritabanının C sürücüsüne ihtiyacımız var.

Archlinux için aşağıdaki komutla bu sürücüyü kurabilirsiniz.

sudo pacman -S --needed mongo-c-driver

Vala Mongo bağları

Vala'nın C sürücüsü ile haberleşebilmesi için ek bir bağa ihtiyacı var.

Öncelikle aşağıdaki depoyu çekiniz.

git clone https://github.com/bynect/mongo-vapi

Dizinin içine girelim.

cd mongo-vapi/

Meson yazılımını çalıştırdık.

meson kur

Ninja'yı çalıştırınız

ninja -C kur

Eğer bakarsanız şimdi vapi isimli bir dizin oluşacak.

Bu dizindeki iki kütüğü Vala'nın erişebileceği bir dizine kopyalıyoruz.

sudo cp vapi/libmongoc-1.0.deps cp vapi/libmongoc-1.0.vapi /usr/share/vala-0.56/vapi/

Vala ile MongoDB veritabanına kayıt yapma

Aşağıdaki kütüğü ilk.vala ismi ile kaydediniz.

int main()
{
    string sunucuAdresi = "mongodb://localhost:27017";
    Mongo.BsonError hata = Mongo.BsonError ();
    Mongo.init();
    Mongo.Uri adres = new Mongo.Uri.with_error (sunucuAdresi, hata);
    var yerel = new Mongo.Client.from_uri(adres);
    Mongo.Database veritabani = yerel.get_database("vişne");
    Mongo.Collection kullanicilar = yerel.get_collection("vişne",
                                                         "kullanıcılar");
    Mongo.Bson gonderi = new Mongo.Bson();
    gonderi.append_int32 ("_id", -1, 3);
    gonderi.append_utf8 ("isim", -1, "Veli", -1);
    gonderi.append_utf8 ("şifre", -1, "gizlideğil", -1);
    kullanicilar.insert_one(gonderi, null, null, hata);
    Mongo.cleanup();
    return 0;
}

Uygulamayı derlemek için aşağıdaki komutu veriniz.

valac --pkg libmongoc-1.0 ilk.vala -o ilk

Uygulamayı ./ilk yazarak çalıştırabilirsiniz.

Vala ile MongoDB veritabanından sorgulama yapma

Burada daha önce oluşturduğumuz kiraz isimli veritabanından sorgulama yapıyoruz.

Şifresi çok gizli olan kullanıcıları bulmaya çalışıyoruz.

Aşağıdaki kütüğü oku.vala ismi ile kaydediniz.

int main()
{
    string sunucuAdresi = "mongodb://localhost:27017";
    Mongo.BsonError hata = Mongo.BsonError ();
    Mongo.init();
    Mongo.Uri adres = new Mongo.Uri.with_error (sunucuAdresi, hata);
    var yerel = new Mongo.Client.from_uri(adres);
    Mongo.Database veritabani = yerel.get_database("kiraz");
    Mongo.Collection kullanicilar = yerel.get_collection("kiraz",
                                                         "kullanıcılar");
    var sorgu = new Mongo.Bson();
    var cikis = new Mongo.Bson();
    sorgu.append_utf8("şifre", -1, "çokgizli", -1);

    var sonuc = kullanicilar.find_with_opts(sorgu, null, null);

    while (sonuc.next (out cikis))
    {
        var okunan = cikis.as_canonical_extended_json(null);
        stdout.printf ("Okuyorum:\n%s\n\n", okunan);
    }
    Mongo.cleanup();
    return(0);
}

Uygulamayı derlemek için aşağıdaki komutu verebilirsiniz.

valac --pkg libmongoc-1.0 oku.vala -o oku

Uygulamayı ./oku yazarak çalıştırabilirsiniz.

Kayıt numarasından da sorgulama yapabiliriz. Örneğin 5 numaralı kaydı bulmak için aşağıdaki sorguyu kullanabiliriz :

sorgu.append_int32 ("_id", -1, 5);

Yorumlar

yorum yaz

Yorum yaz

Henüz yorum yok.