Ana içeriğe geç

MongoDB

Bir veritabanı bağlantısı eklemek için sağ üst köşedeki dişli simgesine tıklayın ve Yönetici ayarları > Veritabanları > Veritabanı ekle yolunu izleyin.

Desteklenen sürümler

Patrona, MongoDB'nin en eski desteklenen sürümünden en son kararlı sürüme kadar olanları destekler. MongoDB Yazılım Yaşam Döngüsü Çizelgeleri bölümüne bakın.

MongoDB'ye bağlanma

MongoDB'ye bağlanmanın iki yolu vardır:

  1. Bağlantı ayrıntılarınızı girmek için Patrona alanlarını kullanma.
  2. Bağlantı dizenizi yapıştırma.

Patrona alanlarını kullanma

MongoDB'ye bağlanmanın varsayılan yolu, bağlantı ayrıntılarınızı Patrona'nın sağladığı alanlara girmektir:

  • Sunucu
  • Veritabanı adı
  • Port
  • Kullanıcı adı
  • Şifre
  • Kimlik Doğrulama Veritabanı (isteğe bağlı)
  • Ek bağlantı dizesi seçenekleri (isteğe bağlı)

Ayrıca Güvenli bir bağlantı kullan (SSL) seçeneğine de sahip olacaksınız. SSL'yi etkinleştirin ve sunucunun SSL sertifika zincirinin içeriğini giriş metin kutusuna yapıştırın. Bu seçenek yalnızca bu bağlantı yöntemi için geçerlidir (yani, bir bağlantı dizesiyle bağlanırken bir sertifika ekleyemezsiniz).

Doğrudan bağlantı için gelişmiş ayarlar

  • Bağlanırken DNS SRV kullan Bu seçeneği kullanmak, sağlanan sunucunun bir FQDN olmasını gerektirir. Bir Atlas kümesine bağlanıyorsanız, bu seçeneği etkinleştirmeniz gerekebilir. Bunun ne anlama geldiğini bilmiyorsanız, bunu devre dışı bırakın.

Bir bağlantı dizesi kullanma

MongoDB'ye bir bağlantı dizesi kullanarak bağlanmayı tercih ederseniz, Bir bağlantı dizesi yapıştır seçeneğine tıklayın. Patrona kullanıcı arayüzü, bağlantı dizenizi yapıştırmak için bir alanla güncellenecektir.

Patrona şu anda aşağıdaki bağlantı dizesi parametrelerini desteklememektedir:

  • tlsCertificateKeyFile
  • tlsCertificateKeyFilePassword
  • tlsCAFile

Bir sertifika kullanmanız gerekiyorsa, varsayılan yöntemle bağlanın ve Güvenli bir bağlantı kullan (SSL) seçeneğini etkinleştirin.

Her iki bağlantı seçeneği için ortak ayarlar

  • Bir SSH tüneli kullan: Bazı veritabanı kurulumlarına yalnızca bir SSH güvenlik duvarı ana bilgisayarı üzerinden bağlanarak erişilebilir. Bu seçenek, bir VPN kullanılamadığında ek bir güvenlik katmanı da sağlar. Bunu etkinleştirmek genellikle doğrudan bir bağlantıdan daha yavaştır.
  • Basit keşif için sorguları yeniden çalıştır: Bu açık olduğunda, Patrona, kullanıcılar bir tabloyu veya grafiği görüntülerken Özetle ve Filtre butonlarıyle basit keşifler yaptıklarında sorguları otomatik olarak çalıştıracaktır. Bu veritabanını sorgulamak yavaşsa bunu kapatabilirsiniz. Bu ayar, detaylandırmaları veya SQL sorgularını etkilemez.
  • Senkronizasyonların ve taramaların ne zaman gerçekleşeceğini seçin: Varsayılan olarak Patrona, hafif bir saatlik senkronizasyon ve alan değerlerinin yoğun bir günlük taramasını yapar. Büyük bir veritabanınız varsa, bunu açmanızı ve alan değeri taramalarının ne zaman ve ne sıklıkla gerçekleştiğini gözden geçirmenizi öneririz.
  • Tabloları periyodik olarak yeniden parmak iziyle işaretle: Varsayılan olarak devre dışı bırakılan bu ayar, Patrona'nın senkronizasyonlar sırasında ek alan değerleri için tarama yapmasını sağlayarak, çubuk grafiklerinizde gelişmiş otomatik bölme gibi daha akıllı davranışlara olanak tanır.

Bir MongoDB Atlas kümesine bağlanma

Patrona'yı Atlas Dedicated ve Shared kümeleriyle kullanabilirsiniz. Patrona şu anda Atlas Serverless'ı desteklememektedir.

IP adreslerini beyaz listeye ekle

Patrona Cloud kullanıyorsanız, Atlas kümenizde Patrona Cloud IP adreslerini beyaz listeye eklemeniz gerekecektir. Kendi kendine barındırılan Patrona kullanıyorsanız, Patrona örneğinizin IP'sini beyaz listeye eklemeniz gerekecektir.

  1. Atlas kümenize giriş yapın
  2. Ağ Erişimi'ne gidin
  3. Patrona'nızın bağlanmak için kullandığı IP adreslerini ekleyin.

Patrona'yı Atlas kümenize bağlayın

Atlas "Bağlan" arayüzünde sağlanan bağlantı dizesi veritabanını içermez. Patrona, bağlanırken bir veritabanı adı sağlamanızı gerektirir, bu nedenle veritabanı adını eklemek için bağlantı dizesini düzenlemeniz gerekecektir.

  1. Atlas hesabınıza giriş yapın

  2. Bağlanmak istediğiniz kümeyi seçin ve Bağlan'a tıklayın.

    Küme ekran görüntünüz

  3. Sürücüler'i seçin.

  4. Bağlantı dizenizi uygulama kodunuza ekleyin bölümünden bağlantı dizesini kopyalayın.

    Bağlan ekran görüntüsü

  5. Patrona'da Yönetici -> Veritabanları'na gidin ve Veritabanı ekle butonuna tıklayın.

  6. Açılır menüden MongoDB'yi seçin ve bu veritabanı için bir Görünen ad girin.

  7. "Bağlantı dizesini yapıştır" seçeneğine tıklayın ve bağlantı dizenizi yapıştırın.

  8. / işaretinden sonra veritabanının adını içerecek şekilde bağlantı dizesini düzenleyin:

    mongodb+srv://metabot:[email protected]/VERITABANI_ADI?retryWrites=true&w=majority&appName=my-test-cluster

Atlas kümeniz için bağlantı bilgilerini girmek için bağlantı dizesi yerine Patrona alanlarını kullanıyorsanız, Bağlanırken DNS SRV kullan seçeneğini açmanız gerekebilir.

Gelişmiş seçenekler hakkında daha fazla bilgi edinin.

Komut satırı aracılığıyla SSL'yi yapılandırma

Patrona UI aracılığıyla kendinden imzalı bir sertifika girebilirsiniz (ancak bir bağlantı dizesi kullanırken değil) veya kendinden imzalı bir sertifika eklemek için komut satırını kullanabilirsiniz.

cp /usr/lib/jvm/default-jvm/jre/lib/security/cacerts ./cacerts.jks
keytool -import -alias cacert -storepass changeit -keystore cacerts.jks -file my-cert.pem

Then, start Patrona using the store:

java -Djavax.net.ssl.trustStore=cacerts.jks -Djavax.net.ssl.trustStorePassword=changeit -jar patrona.jar

Learn more about configuring SSL with MongoDB.

How Patrona syncs data in MongoDB

Because MongoDB contains unstructured data, Patrona takes a different approach to syncing your database's metadata. To get a sense of the schema, Patrona will query the first and last 500 documents (most of the calculation is done in MongoDB). This sampling helps Patrona do things like differentiate datetime fields from string fields, and provide people with pre-populated filters. The reason Patrona only scans a sample of the documents is because scanning every document in every collection on every sync would put too much strain on your database. And while the sampling does a pretty good job keeping Patrona up to date, it can also mean that new fields can sometimes fall through the cracks, leading to visualization issues, or even fields failing to appear in your results. For more info, check out our troubleshooting guide.

General connectivity concerns

  • Connect using DNS SRV, which is the recommended method for newer Atlas clusters.
  • Have you checked your cluster host whitelist? When testing a connection but seeing failure, have you tried setting the IP whitelist to 0.0.0.0/0? Whitelisting this address allows connections from any IP addresses. If you know the IP address(es) or CIDR block of clients, use that instead.
  • Connect to the secondary server. When connecting to a cluster, always use the ?readPreference=secondary argument in the connection string, which allows Patrona to read from a secondary server instead of consuming resources from the primary server.

I added fields to my database but don't see them in Patrona

Patrona may not sync all of your fields. Since any document in a MongoDB collection can contain any number of fields, the only way to get 100% coverage of all fields would be to scan every single document in every single collection. The reason Patrona doesn't do a full scan is because it would put too much strain on your database.

Instead, Patrona gets a sample of the fields in a collection by scanning a sample of 1000 documents in each collection (the first 500 documents and the last 500 documents in each collection).

If you're not seeing all of the fields show up for a collection in Patrona, one workaround is to include all possible keys in the first document of the collection, and give those keys null values. That way, Patrona will be able to recognize the correct schema for the entire collection.

Further reading

See our troubleshooting guide for troubleshooting your connection.