kullaniciadi = input("Kullanıcı adı: ")
sifre = getpass("Şifre(gizli): ")
arama = hesap.find().sort("kullaniciadi")
for x in arama:
print(x["kullaniciadi"])
Şöyle bir kod yazdım. Şunu yapmak istiyorum: Input ile girilen kullanıcı adını ve şifreyi, MongoDB veritabanında sorgulamak istiyorum. Bilgiler eşleşiyorsa(doğruysa) işlem yapmak istiyorum. Burada tıkandım kaldım.
Kodda MongoDB ile ilgili herhangi bir sey yok. Birinden genel “MongoDB nasil kullanilir” yazisi paylasmasini mi bekliyorsunuz, yoksa sorunun kod parcasiyla bir alakasi var mi?
Şimdi şöyle: mongoDB’de daha önce veriler olacak. Program açıldığında kullaniciadi ve sifre soracak. Eğer bu input ile girilen veriler, MongoDB’deki veriler ile uyuşursa başka işlem yapacağım.
Yok, dogru anladim ama yapman gerekeni anlatamadim.
Suraya bir mekanizma koyup kullaniciadi ve sifre database’de varsa bir islem gerceklestirmek istiyorsun.
Bunun MongoDB ile bir alakasi yok, arama ve x degiskenlerinin degerlerine bakiyor.
Haliyle arama’nin degerini bize verirsen, kodu calistirip database’e baglanma geregi duymadan gerekli eslesme mekanizmasini yazabiliriz.
Cunku su haliyle database’e baglanilmiyor ve arama’nin nasil bir deger aldigi hakkinda en ufak bir fikrimiz yok. Mongo’yla ugrasan biri olsaydi ekran goruntulerini arama objesine cevirebilirdi. Su an oyle birini bekliyoruz.
Buraya böyle yapmışsız. Mantıklı bir yöntem fakat şöyle bir şey var; mesela kullanıcı yeniden kayıt oldu. O zaman kayıtları benim manuel olarak eklemem gerekecek.
Otomatik olarak verileri çekecek bir yöntem var mıdır? Kusura bakmayın uğraştırdıysam.
Düzenleme: hallettim teşekkürler destek için.
getpass = input
class ObjectId:
def __init__(self, oid):
pass
arama = hesap.find().sort("kullaniciadi")
aktif_kullanici = None
for x in arama:
if x['kullaniciadi'] == kullaniciadi and x['sifre'] == sifre:
aktif_kullanici = x
break
if aktif_kullanici is None:
print("Giris yapilmadi")
else:
print(f"{aktif_kullanici['kullaniciadi']} kullanicisi {aktif_kullanici['bakiye']} bakiye ile giris yapti")