MongoDB bağlanamıyorum

Merhabalar,

Kaç gündür bu sorunu çözmeye çalışıyorum.

Bağlanmaya çalıştığımda:

c:\Users\Emir\Desktop\Yaptığım kodlar\kayit-ol.py:44: DeprecationWarning: insert is deprecated. Use insert_one or insert_many instead.
  koleksiyon.insert({"kullaniciadi": kullanici_adi, "sifre": sifre_giris})
Traceback (most recent call last):
  File "c:\Users\Emir\Desktop\Yapt²­²m kodlar\kayit-ol.py", line 44, in kayit_yap
    koleksiyon.insert({"kullaniciadi": kullanici_adi, "sifre": sifre_giris})
  File "C:\Users\Emir\AppData\Local\Programs\Python\Python39\lib\site-packages\pymongo\collection.py", line 3333, in insert
    return self._insert(doc_or_docs, not continue_on_error,
  File "C:\Users\Emir\AppData\Local\Programs\Python\Python39\lib\site-packages\pymongo\collection.py", line 620, in _insert
    return self._insert_one(
  File "C:\Users\Emir\AppData\Local\Programs\Python\Python39\lib\site-packages\pymongo\collection.py", line 609, in _insert_one
    self.__database.client._retryable_write(
  File "C:\Users\Emir\AppData\Local\Programs\Python\Python39\lib\site-packages\pymongo\mongo_client.py", line 1551, in _retryable_write
    with self._tmp_session(session) as s:
  File "C:\Users\Emir\AppData\Local\Programs\Python\Python39\lib\contextlib.py", line 117, in __enter__
    return next(self.gen)
  File "C:\Users\Emir\AppData\Local\Programs\Python\Python39\lib\site-packages\pymongo\mongo_client.py", line 1948, in _tmp_session
    s = self._ensure_session(session)
  File "C:\Users\Emir\AppData\Local\Programs\Python\Python39\lib\site-packages\pymongo\mongo_client.py", line 1935, in _ensure_session
    return self.__start_session(True, causal_consistency=False)
  File "C:\Users\Emir\AppData\Local\Programs\Python\Python39\lib\site-packages\pymongo\mongo_client.py", line 1883, in __start_session
    server_session = self._get_server_session()
  File "C:\Users\Emir\AppData\Local\Programs\Python\Python39\lib\site-packages\pymongo\mongo_client.py", line 1921, in _get_server_session
    return self._topology.get_server_session()
  File "C:\Users\Emir\AppData\Local\Programs\Python\Python39\lib\site-packages\pymongo\topology.py", line 520, in get_server_session
    session_timeout = self._check_session_support()
  File "C:\Users\Emir\AppData\Local\Programs\Python\Python39\lib\site-packages\pymongo\topology.py", line 504, in _check_session_support
  File "C:\Users\Emir\AppData\Local\Programs\Python\Python39\lib\site-packages\pymongo\topology.py", line 218, in _select_servers_loop
    raise ServerSelectionTimeoutError(
pymongo.errors.ServerSelectionTimeoutError: cluster0-shard-00-00.nj9wl.mongodb.net:27017: [WinError 10054] Varolan bir ba­lant² uzaktaki bir ana bilgisayar taraf²ndan zorla kapat²ld²,cluster0-shard-00-01.nj9wl.mongodb.net:27017: [WinError 10054] Varolan bir ba­lant² uzaktaki bir ana bilgisayar taraf²ndan zorla kapat²ld²,cluster0-shard-00-02.nj9wl.mongodb.net:27017: [WinError 10054] Varolan bir ba­lant² uzaktaki bir ana bilgisayar taraf²ndan zorla kapat²ld², Timeout: 30s, Topology Description: <TopologyDescription id: 611facfac766d47672b3161d, topology_type: ReplicaSetNoPrimary, servers: [<ServerDescription ('cluster0-shard-00-00.nj9wl.mongodb.net', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('cluster0-shard-00-00.nj9wl.mongodb.net:27017: [WinError 10054] Varolan bir ba­lant² uzaktaki bir ana bilgisayar taraf²ndan zorla kapat²ld²')>, <ServerDescription ('cluster0-shard-00-01.nj9wl.mongodb.net', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('cluster0-shard-00-01.nj9wl.mongodb.net:27017: [WinError 10054] Varolan bir ba­lant² uzaktaki bir ana bilgisayar taraf²ndan zorla kapat²ld²')>, <ServerDescription ('cluster0-shard-00-02.nj9wl.mongodb.net', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('cluster0-shard-00-02.nj9wl.mongodb.net:27017: [WinError 10054] Varolan bir ba­lant² uzaktaki bir ana bilgisayar taraf²ndan zorla kapat²ld²')>]>

Diyor. Veritabanı bilgileri vb. doğru. Ama neden veriyor hala anlamış değilim.

import pymongo

baglanti = pymongo.MongoClient("mongodb+srv://emirbolatg:guvenlik@cluster0.nj9wl.mongodb.net/Emire?retryWrites=true&w=majority")

db = baglanti["Emire"]

koleksiyon = db["asd"]

Sorun nedir? Nasıl çözebilirim?

@Gok_Mavisi_Anka , @aib @DrShahinstein Hocalarım bilginiz var mı?

Malesef pymongo acemisiyim.

1 Beğeni

Merhaba, bildiğim kadarıyla MongoDB bağlanılmak istenen veri tabanı ya da collection var ise bağlanır yok ise oluşturur ve ondan sonra bağlanır. Yani bu aşamada bir hata söz konusu olmaz diye düşünüyorum.

Bu kısımda insert komutu ile ilgili bir problem olduğu söylenmiş. Hata insert aşamasında olabilir denemediyseniz insert_one ve insert_many komutları ile bir deneme yapabilirsiniz.
Net olmamakla birlikte hatırladıklarımı aktarmaya çalıştım umarım faydalı olur. Kolaylıklar dilerim.

Ben bunu aliyorum:

pymongo.errors.ServerSelectionTimeoutError: connection closed,connection closed,connection closed, Timeout: 30s, Topology Description: <TopologyDescription id: 6122390335f83625f0e93e27, topology_type: ReplicaSetNoPrimary, servers: [<ServerDescription (‘cluster0-shard-00-00.nj9wl.mongodb.net’, 27017) server_type: Unknown, rtt: None, error=AutoReconnect(‘connection closed’)>, <ServerDescription (‘cluster0-shard-00-01.nj9wl.mongodb.net’, 27017) server_type: Unknown, rtt: None, error=AutoReconnect(‘connection closed’)>, <ServerDescription (‘cluster0-shard-00-02.nj9wl.mongodb.net’, 27017) server_type: Unknown, rtt: None, error=AutoReconnect(‘connection closed’)>]>