MongoDB
"External/ dizini tüm projeleriniz için ortak dosya kullanımı sunar."
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
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
# 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']);
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');
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 ); }
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 );
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]);