MongoDB


    × Bunları biliyor muydunuz?
"ZN Framework 2011 senesinden beri geliştirilmeye devam etmektedir."


(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.

 

 

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