MongoDB


    × Bunları biliyor muydunuz?
"Konsol ile ZN Framework içerisinde bulunan kütüphane, kontrolcü, model, komut ve fonksiyon çalıştırılabilir."


 

Mongo DB eklentisinin kolaylaştırılmış kullanımı sunar. DB:: kütüphanesi ile yazma formatına alışmış kullanıcıların daha rahat mongo db kullanabilmesini sağlayan ortam hazırlar.

 

 

# Gereksinimler


Sunucunuzda mongodb eklentisinin açık olması gerekmektedir. 

 

 

# Kurulum


ZN dağıtımları için kurulum gerekmez.

↓ composer require znframework/package-database

 

 

# Yapılandırma


Dosya: Config/Database.php -> mongodb
Email
string $database = 'test' Öntanımlı veritabanı adı.
string $dns = 'localhost' Bağlantı sağlanacak URI adresi.
array $options = [] URI seçenekleri. Seçenek detaylarına erişmek için tıklayınız.
array $driverOptions = [] Sürücü seçenekleri. Seçenek detaylarına erişmek için tıklayınız.

 

 

# Yöntemler


MDB::insert(string $table, array $datas) : bool
MDB::update(string $table, array $datas) : bool
MDB::delete(string $table) : bool
MDB::get(string $table) : this
MDB::result() : array
MDB::row(mixed $printable = 0) : object
MDB::totalRows() : int
MDB::where(string $column, string $value) : this
MDB::whereRegex(string $column, string $pattern, string $flags = '') : this
MDB::orderBy(string $column, string $type = 'asc') : this
MDB::limit(int $limit/start, int $limit = NULL) : this
MDB::upsert() : this
MDB::option(string $key, $value) : this
MDB::filter(string $key, $value) : this
MDB::executable(mixed $options) : this
MDB::collections/tables(void) : array
MDB::datatabases() : array
MDB::indexes() : array
MDB::createAutoIncrement(string $table, string $column) : bool
MDB::createIndex(string $table, array $indexes) : bool
MDB::dropIndex(string $table, string $indexName) : bool
MDB::create(string $table, array $options = []) : bool
MDB::truncate/drop(string $table) : bool
MDB::error() : string
MDB::new(array $config) : instance

 

 

# Insert


İlgili tabloya kayıt ekler.

Parametreler

string $table Tablo adı.
array $datas Veriler.
return bool

Kullanımlar

MDB::insert('cities', ['Name' => 'Istanbul', 'Code' => 34]);

 

 

# Update


İlgili veriyi günceller.

Parametreler

string $table Tablo adı.
array $datas Veriler.
return bool

Kullanımlar

MDB::where('Name', 'Istanbul')->update('cities', ['Name' => 'Paris']);
Upsert

Sadece MDB::update() yöntemi ile beraber kullanılabilir. Güncellenecek veri mevcut değilse eklenmesini sağlar ve günceller.

Parametreler

return this

Kullanımlar

MDB::upsert()->where('Name', 'Londra')->update('cities', ['Code' => '33']);

 

 

# Delete


İlgili tablodan veri siler. 

Parametreler

string $table Tablo adı.
return bool

Kullanımlar

MDB::where('Name', 'Paris')->delete('cities');

 

 

# Get


İlgili tablodan veri çekmek için kullanılır.

Parametreler

string $table Tablo adı.
return this

Kullanımlar

$cities = MDB::get('cities');
Result

Koşula bağlı bir ve birden fazla sonucu döndürür.

Parametreler

return array

Kullanımlar

foreach( $cities->result() as $row )
{
    output( $row->Name . ' - ' . $row->Code );
} 
Row

Koşula bağlı tek bir sonuç döndürür.

Parametreler

scalar $printable = 0 Kayıt indisi.
return object

Kullanımlar

output( $citites->row()->Name );
TotalRows

Koşula bağlı tek bir sonuç sayısını döndürür.

Parametreler

return int

Kullanımlar

output( $citites->totalRows() );

 

 

# Where


Eşleşen koşul oluşturmak için kullanılır. 

Parametreler

string $column Kolon adı.
string $value Değer.
return this

Kullanımlar

MDB::where('Name', 'Paris')->get('cities'); # Name değeri Paris olan.

 

 

# WhereRegex


Düzenli ifadeler ile koşul oluşturmak için kullanılır. 

Parametreler

string $column Kolon adı.
string $pattern Desen.
string $flags = '' Desen ekleri.
return this

Kullanımlar

MDB::whereRegex('Name', 'a')->get('cities'); # Name değeri içinde a geçen.

 

 

# OrderBy


Sıralama yapmak için kullanılır.

Parametreler

string $column Kolon adı.
string $type = 'asc' Sıralama türü.
return this

Kullanımlar

MDB::orderBy('Name', 'desc')->whereRegex('Name', 'a')->get('cities');

 

 

# Limit


Belirli sayıda sonuç almak için kullanılır.

Parametreler

int $limit/start Sadece limit verilecekse $limit başlangıç belirtilecekse $start parametresi olarak kullanılır.
int $limit = NULL 1. parametrenin $start olarak kullanılması durumunda $limit parametresi olarak kullanılır.
return this

Kullanımlar

MDB::limit(5)->get('cities'); # 5 kayıt döndürür.
MDB::limit(5, 10)->get('cities'); # 5. indisten itibaren 10 kayıt döndürür.

 

 

# Option


Update, delete ve get işlemleri için mongodb için geçerli olan seçenekleri kullanmanızı sağlar.

Parametreler

string $name Seçenek adı.
mixed $value Seçenek değeri.
return this

Kullanımlar

output( MDB::option('sort', ['Name' => -1])->get('cities')->result() );

 

 

# Filter


Mongo DB filtrelerinin kullanımı sağlar.

Parametreler

string $name Filtre adı.
mixed $value Filtre değeri.
return this

Kullanımlar

output( MDB::filter('Name', 'Londra')->get('cities')->result() );

 

 

# Executable 


Mongo DB execute seçeneklerini kullanmanızı sağlar. Bu seçenekler aşağıdaki gibidir.

Seçenekler

MDB::writeConcern(...$parameters) MongoDB\Driver\WriteConcern
MDB::readConcern(...$parameters) MongoDB\Driver\ReadConcern
MDB::readPrefence(...$parameters) MongoDB\Driver\ReadPreference
MDB::session(....$parameters) MongoDB\Driver\Session

Parametreler

mixed $options Yukarıda yer alan seçeneklerden herhangi biri.
return this

Kullanımlar

MDB::executable(MDB::writeConcern('majority', 100))->insert('person', ['Name' => 'Micheal']);

 

 

# Collections / Tables 


Oluşturulan tabloları listeler.

Parametreler

return array

Kullanımlar

output( MDB::tables() );

 

 

# Databases


Oluşturulan veritabanlarını listeler.

Parametreler

return array

Kullanımlar

output( MDB::databases() );

 

 

# Indexes


Oluşturulan indisleri listeler.

Parametreler

return array

Kullanımlar

output( MDB::indexes() );

 

 

# CreateAutoIncrement


Otomatik olarak artan bir ID oluşturmak için kullanılır. Bu yöntemin kullanılmasından sonra bu tabloya eklenen verilere ID bilgiside eklenir. Bu yöntem bir kez çalıştırılır.

Parametreler

string $table Tablo adı.
string $column Kolon adı.
return bool

Kullanımlar

MDB::createAutoIncrement('cities', 'ID');

MDB::insert('cities', ['Name' => 'London']);
MDB::insert('cities', ['Name' => 'Ankara']);
[
    ID => 1, Name => London,
    ID => 2, Name => Ankara
]

 

 

# CreateIndex 


Indis oluşturmak için kullanılır.

Parametreler

string $table Tablo adı.
array $indexes İndisler
return bool

Kullanımlar

MDB::createIndex('cities', ['Name' => 1]);

 

 

# DropIndex 


Indis silmek için kullanılır.

Parametreler

string $table Tablo adı.
string $indexName İndis adı.
return bool

Kullanımlar

MDB::dropIndex('cities', 'Name');

 

 

# Create


Tablo oluşturmak için kullanılır. Çoğu zaman bu işleme ihtiyaç duyulmaz.

Parametreler

string $table Tablo adı.
array $options = [] Seçenekler.
return bool

Kullanımlar

MDB::create('cities');

 

 

# Truncate / Drop


Tablo silmek için kullanılır.

Parametreler

string $table Tablo adı.
return bool

Kullanımlar

MDB::truncate('cities');

 

 

# Error


İşlemler sırasında oluşan hatayı döndürür.

Parametreler

return string

Kullanımlar

echo MDB::error();

 

 

# New


Yeni bir bağlantı oluşturmak için kullanılır.

Parametreler

array $config Ayarlar.
return string

Kullanımlar

$new = MDB::new(['database' => 'newdb']);

$new->insert('accounts', ['Name' => 'ZN', 'Phone' => 123]);