Lenovo Yoga 7i 2in1 14IML9 0WID Intel Core Ultra 5Lenovo Yoga 7 2-in-1 14IML9 83DJ000WID ULTRA 5-125H/16GB/512GB/TS 14.0 OLED/WIN11+OHS2021/TIDAL TEAL - Yoga 7 2-in-1 14IML9 - Part Number : 83DJ000WID - PERFORMANCE: Processor Intel® Core™ Ultra 5 125H, 14C (4P + 8E + 2LPE) / 18T, Max Turbo up to 4.5GHz, 18MB - Graphics Integrated Intel® Arc™ Graphics - Chipset Intel® SoC Platform - Memory 16GB Soldered LPDDR5x-7467 Free Klik Disini ! |
Kode berikut menunjukkan operasi CRUD (Create, Read, Update, Delete) menggunakan Python dan library pymongo
, dilengkapi dengan penanganan kesalahan, dan validasi.
Selanjutnya import library pymongo
import pymongo
from bson.objectid import ObjectId # Untuk menangani ObjectIds
def handle_error(e):
print(f"Terjadi kesalahan: {e}")
exit(1)
try:
# Ganti dengan string koneksi dan nama database Anda
client = pymongo.MongoClient("mongodb://localhost:27017/")
db = client["database_saya"]
except pymongo.errors.ConnectionFailure as e:
handle_error(e)
koleksi = db["koleksi_saya"]
def buat_dokumen(data):
try:
# Validasi data sebelum disimpan
if not isinstance(data, dict):
raise ValueError("Data harus berupa kamus")
result = koleksi.insert_one(data)
print(f"Dokumen dimasukkan dengan ID: {result.inserted_id}")
except (pymongo.errors.PyMongoError, ValueError) as e:
handle_error(e)# Contoh penggunaan
dokumen_baru = {"nama": "John Doe", "umur": 30}
buat_dokumen(dokumen_baru)
def cari_dokumen(filter=None):
try:
if filter:
# Gunakan filter untuk kriteria tertentu
kursor = koleksi.find(filter)
else:
# Cari semua dokumen
kursor = koleksi.find({})
dokumen = list(kursor)
return dokumen
except pymongo.errors.PyMongoError as e:
handle_error(e)# Contoh penggunaan
semua_dokumen = cari_dokumen()
print("Semua dokumen:")
for doc in semua_dokumen:
print(doc)dokumen_terfilter = cari_dokumen({"umur": 30})
print("\nDokumen dengan umur 30:")
for doc in dokumen_terfilter:
print(doc)
def perbarui_dokumen(id_dokumen, data_update):
try:
if not isinstance(id_dokumen, ObjectId):
raise ValueError("id_dokumen harus berupa ObjectId yang valid")
result = koleksi.update_one({"_id": id_dokumen}, data_update)
if result.matched_count == 0:
print(f"Tidak ditemukan dokumen dengan ID: {id_dokumen}")
else:
print(f"{result.modified_count} dokumen diperbarui")
except (pymongo.errors.PyMongoError, ValueError) as e:
handle_error(e)# Contoh penggunaan
id_dokumen = ObjectId("...") # Ganti dengan ID sebenarnya
data_update = {"$set": {"umur": 35}} # Memperbarui umurperbarui_dokumen(id_dokumen, data_update)
def hapus_dokumen(id_dokumen):
try:
if not isinstance(id_dokumen, ObjectId):
raise ValueError("id_dokumen harus berupa ObjectId yang valid")
result = koleksi.delete_one({"_id": id_dokumen})
if result.deleted_count == 0:
print(f"Tidak ditemukan dokumen dengan ID: {id_dokumen}")
else:
print(f"{result.deleted_count} dokumen dihapus")
except (pymongo.errors.PyMongoError, ValueError) as e:
handle_error(e)# Contoh penggunaan
id_dokumen = ObjectId("...") # Ganti dengan ID sebenarnyahapus_dokumen(id_dokumen)
Catatan:
pymongo
untuk fungsi lainnya