MongoDB – İstediğiniz Alanları Seçmek. Select Field

Merhaba Arkadaşlar, SQL yapılardan hatırlayacağınız şekilde sorgularda örneğin; Select Id, Username, Email, Password, Active From Customer gibi istediğiniz alanları getirebiliyorsunuz. Yani tüm alanları değil de, sadece istediğiniz alanları getirebiliyorsunuz. Bunun MongoDB karşılığı ise aşağıdaki gibi; db.getCollection(‘Customer‘).find( {} , { _id: 1, “Username”: 1, “Email”: 1, “Password”: 1, “Active”: 1 } ) Burada “1” dediğiniz alan, o alanı görüntüle anlamına gelmektedir. Eğer bir alanın görünmemesini istiyor iseniz bu alanı “0” olarak geçmeniz gerekmektedir. İşte bu kadar. …

MongoDB Sort Memory Limit

MongoDb içerisinde sort işlemi yaparken RAM’de ki alanınız 32 MB ile sınırlıdır. Bu durumda aşağıdaki şekilde bir hata ile karşılaşırsınız. Executor error during find command :: caused by :: Sort operation used more than the maximum 33554432 bytes of RAM. Add an index, or specify a smaller limit.   Ancak bu alanı arttırmak sizin elinizde. Yalnız en aşağıdaki uyarıyı lütfen es geçmeyin. db.adminCommand({setParameter: 1, internalQueryExecMaxBlockingSortBytes:50151432})   Uyarı: Bellekteki yeri açtığınızda unutmayın ki sunucunudaki kullanılabilir belleğinizden …

MongoDB Ve, Veya, Büyüktür, Küçüktür, Büyük Eşittir, Küçük Eşittir Sorguları

MongoDB – Ve ($or) – Küçüktür, Büyüktür, Küçük Eşittir, Büyük Eşittir gte : büyük eşit lte: küçük eşit   gt : büyük lt: küçük   MongoDB – Veya ($or) – Küçüktür, Büyüktür, Küçük Eşittir, Büyük Eşittir gte : büyük eşit lte: küçük eşit

MongoDB Authorization – Yetkilendirme ve Şifreli Erişim

MongoDB’de kullanıcı açmak ile ilgili daha önce bir makale yayınlamıştım. Bu makalede ise authorization kontrolü ile database’e yetkili kullanıcı oluşturma ve root (kök) yetkili kullanıcı oluşturma konusunu anlatacağım. Eğer hiçbir işlem yapmaz iseniz, mongodb sizden bir authorization kontrolü istemez ve dolayısı ile sunucuya erişimi olan herkes veritabanına giriş yapabilir. Bu durumun en tehlikeli tarafı aslında, sunucuyu public ortama açtığımızda karşımıza çıkıyor. Zira bu durumda veritabanlarımızın tümü authorization olmaz ise ip adresinize erişebilen ve portu gören, …

MongoDB Dış Ip’ye Açmak ve Dışarıdan Erişim

Merhaba Arkadaşlar, Daha önce mongodb kurulumundan ve konfigürasyonundan bahsetmiştim. Yazılarım içerisinde bulabilirsiniz. Burada anlatmak istediğim, mongodb’yi dış IP’ye veya istediğimiz herhangi bir IP adresine (tabi sunucuda kayıtlı) açmak ve dışarıdan erişim sağlamak. MongoDB Dışarı Port Açmak, Dışarıdan Erişim Aslında konu özetle çok karmaşık değil. Öncelikle “C:\Program Files\MongoDB\Server\3.6(Sizin Versiyonunuz)\bin” dizinine gidiyoruz ve “Mongod.cfg” isimli dosyamızı metin editörü ile açıyoruz. Karşımıza aşağıdaki gibi bir ekran gelmeli; İşte 3 püf noktadan biri ve en önemlisi; “authorization” alanı. eğer …

MongoDB Tekil ve Çoğul Kayıt/Döküman Silme

Tekil ve çoğul olarak kayıt silme sorguları aşağıdaki şekildedir. Konuya girmeden önce şunun altını çizmekte fayda var sanırım. Lütfen bu işlemi ilk defa deniyor iseniz mutlaka bir test veritabanına bu işlemi yapın. Unutmayın ki hiçbir silme işlemi backup dışında geri getirilememektedir. Ayrıca bu sorguları çalıştırırken kesinlikle MongoDB size bir onay sorusu sormayacaktır. Çoklu silme işlemi aşağıdaki şekilde gerçekleştirilir. deleteMany()   Tekil silme işlemi aşağıdaki şekildedir; deleteOne Bu işlem sadece tek bir kayıt silme olarak algılanmamalıdır. …

MongoDB Like Methodu, Like Query

MSSQL de kullandığımız like methodunun elbette mongodb için de bir karşılığı var. Aşağıdaki şekilde kullanabilirsiniz; db.getCollection(‘CollectionAdi’). find({ “Name”: /aranacak kelime/ }) Ya da aşağıdaki gibi de kullanabilirsiniz… db.getCollection(‘CollectionAdi’). find({ “Name”:/.*aranacak kelime.*/ })

MongoDB Id’ye Göre Sıralama İşlemi (Order By Id)

MongoDB bilindiği üzere NoSQL bir yapı olduğu için sorgularımız da normal SQL sorgularından bir hayli farklı, Json olarak üretiliyor. MongoDB içerisinde _id diye belirtilen alan asında bir bakıma document name diyebiliriz. Zira bu alan farketmiş olacağınız şekilde aşağıdaki gibi bir “string” benzeri yapıdan oluşuyor. [highlight] ObjectId(“5b5ad9dbc27da340e41021ca”) [/highlight] Ancak bu sizi şaşırtmasın, zira klasik Identify Primary Key’ler gibi bu alan da benzersiz ve dolayısı ile sıralı. Yani bu default olarak gelen bir özellik. Dediğim gibi, isimsiz …

MongoDB Veritabanı Yedekleme ve Geri Yükleme

Merhabalar, MongoDB ile veritabanını yedekleme ve geri yükleme için çok fazla veri bulunmuyor. Daha doğrusu bulunuyor ancak basit işlemler için oldukça karışık bir hal alabiliyor. Biz en kısasından, not mahiyetinde değinelim. Eğer detay isteyen olur ise yorum kısmından yazarsa açıklamaya çalışırım. MongoDB Yedek Alma [highlight] mongodump –out /data/backup/ [/highlight] MongoDB Geri Yükleme [highlight] mongorestore –db yenidatabaseinAdi –drop /var/backups/mongobackups/01-20-16/newdb/ [/highlight] En Son Sürümlerde Geri Yükleme [highlight] mongorestore –db yenidatabaseinAdi –drop /var/backups/mongobackups/01-20-16/newdb/ –host=127.0.0.1 –port=27017 [/highlight] Bazı sürümlerde …

MongoDB Veritabanı Kullanıcı Oluşturma ve Yetkilendirme

Merhabalar Arkadaşlar, Bugünkü konumuz MongoDB ile kullanıcı adı ve şifreye sahip bir veritabanı kullanıcısı oluşturmak ve bu kullanıcıya yetki vermek olacak. Bildiğiniz üzere Robo 3T üzerinden lokal bir mongo db’ye erişmek istediğimizde username ve password e standartta gerek durmuyoruz. Ancak veritabanımızın güvenliği açısından elbette yetkilendirme son derece önem arzediyor. Gelelim veritabanı oluşturma ve kullanıcı oluşturup yetkilendirme işlemlerimize. Create’i tıklayıp öncelikle şifresiz bir şekilde mongoDB’mize erişim sağlıyoruz. Gördüğünüz gibi 2. tabda olan bu alanda hiçbir şey …

Centos 6/7 – SSH Aracılığıyla MongoDB Kurulumu

Merhaba Arkadaşlar, Hakkımda sayfamda da belirttiğim gibi aslına bakarsanız bu site benim için kendi kendime notlarımı tutmak için açtığım, ancak zaman içerisinde taleple biraz daha biraz daha derken zenginleştirmeye çalıştığım bir site haline geliyor. Bunu neden anlattım? Elbette bu konu da ne alaka demeyesiniz diye 🙂 Öncelikle asli amacım MongoDB için bir linux sunucu almak ve bu sunucuda mongoDB kurulumunu gerçekleştirerek uzaktan testlerimi ve canlı işlemlerimi bu sunucu üzerinde yapmaktı. Ki öyle de oldu zaten. …

Mongo DB’de SQL Sorguları Kullanmak

Merhaba Arkadaşlar, Bugün belki de mongoDB ile ilk uğraşmaya başlayacak olan veya yeni başlamış olan developer’ların en merak ettiği sorulardan birine kısa ve öz değiniyor olacağım. MongoDB içerisinde bildiğimiz SQL Queryleri (Sorguları) kullanmamız mümkün mü? Ya da mümkün ise; ne kadar mümkün? Aslında Sql Query’ler genel olarak MSSQL ve MySql ortamları için ortaklaşıyor durumda. Zira bakacak olursanız buralardaki engine (motor yapısı)’de bu tip querylere hizmet vermek için kurgulanmış durumda. Peki NoSql olarak bilinen platformlarda bu …

MongoDB – Update Many (Toplu Update İşlemi)

Merhabalar, MongoDB’de toplu update işlemi özellikle SQL severlerin karşılaşabileceği problemlerin başında. Zira internette her aramada yeterli ve geçerli bir kaynak bulmak maalesef söz konusu olamıyor. Bu nedenle kısaca bahsedeyim istedim; [highlight] db.collection.updateMany( <filter>, <update> ) [/highlight] Burada görünen “filter” alanı aslına bakarsanız SQL’deki “where” koşulunun yerine geçiyor. Yani şu şekilde yazılabilir örneğin; [highlight] { Name: “Türkiye” } [/highlight] Bu koşulla gittiğimizde ilgili güncelleme sadece “Name” field’ı “Türkiye” olan kayıtlar için yapılacaktır. Son olarak da asıl …

Windows’ta ve Windows 10’da MongoDB Kurmak, Resimli Anlatım

Merhaba Arkadaşlar, Bugün MongoDB’nin nasıl kurulacağından bahsedeceğim sizlere. Öncelikle MongoDB’yi “https://www.mongodb.com/download-center#community” adresinden “Community Server” tabına tıklayarak indiriyoruz. Burada istediğiniz OS’e uygun şekilde indirebilirsiniz. Tabii ki biz şu an windows’u anlatıyor olacağız 🙂 Bundan sonraki ilk aşamada aslına bakarsanız 2 seçenek çıkacak burada “Portable” mı yoksa “Setup” mı şeklinde bir soru. Bana sorarsanız (tabi eğer kendi makinanız ise) setup’ı seçerek kuruluma geçmeniz en güzeli. Sonraki ilk aşamada setup’ımızı açıyor ve klasik Next>Next>Next>Complete diyerek kurulumumuzu gerçekleştiriyoruz. Pekiiii …