MongoDB


    × Bunları biliyor muydunuz?
"URL::base() ve URL::site() kullanımları farklıdır. Özellikle varlık dosyalarına yol verilirken URL::base(), [a] etiketi ile köprü oluştururken URL::site() kullanılmalıdır."


(ZN >= 6.0.30)

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


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

 

 

# Insert (ZN >= 6.0.30)


İ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 (ZN >= 6.0.30)


İ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

void
return this

Kullanımlar

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

 

 

# Delete (ZN >= 6.0.30)


İlgili tablodan veri siler. 

Parametreler

string $table Tablo adı.
return bool

Kullanımlar

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

 

 

# Get (ZN >= 6.0.30)


İ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

void
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

void
return int

Kullanımlar

output( $citites->totalRows() );

 

 

# Where (ZN >= 6.0.30)


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 (ZN >= 6.0.30)


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 (ZN >= 6.0.30)


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 (ZN >= 6.0.30)


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 (ZN >= 6.0.30)


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 (ZN >= 6.0.30)


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 (ZN >= 6.0.30)


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 (ZN >= 6.0.30)


Oluşturulan tabloları listeler.

Parametreler

void
return array

Kullanımlar

output( MDB::tables() );

 

 

# Databases (ZN >= 6.0.30)


Oluşturulan veritabanlarını listeler.

Parametreler

void
return array

Kullanımlar

output( MDB::databases() );

 

 

# Indexes (ZN >= 6.0.30)


Oluşturulan indisleri listeler.

Parametreler

void
return array

Kullanımlar

output( MDB::indexes() );

 

 

# CreateAutoIncrement (ZN >= 6.0.30)


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 (ZN >= 6.0.30)


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 (ZN >= 6.0.30)


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 (ZN >= 6.0.30)


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 (ZN >= 6.0.30)


Tablo silmek için kullanılır.

Parametreler

string $table Tablo adı.
return bool

Kullanımlar

MDB::truncate('cities');

 

 

# Error (ZN >= 6.0.30)


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

Parametreler

void
return string

Kullanımlar

echo MDB::error();

 

 

# New (ZN >= 6.0.30)


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]);