Home » python » MongoDB Query di Python

MongoDB Query di Python

by Catur Kurnia Sari
by Catur Kurnia Sari

Filter Hasil

Saat mencari dokumen dalam koleksi, kita bisa memfilter hasilnya dengan menggunakan objek kueri.

Argumen pertama dari metode find() adalah objek kueri, dan digunakan untuk membatasi pencarian.

Contoh:
Temukan dokumen dengan alamat “Park Lane 38”

import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]

myquery = { "address": "Park Lane 38" }

mydoc = mycol.find(myquery)

for x in mydoc:
  print(x)

Kueri Lanjutan

Untuk membuat kueri tingkat lanjut, kita dapat menggunakan pengubah sebagai nilai dalam objek kueri.

Misalnya. untuk menemukan dokumen di mana field “address” dimulai dengan huruf “S” atau lebih tinggi (menurut abjad), gunakan pengubah lebih besar dari: {“$ gt”: “S”}

Contoh:
Temukan dokumen yang alamatnya dimulai dengan huruf “S” atau lebih tinggi

import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]

#address greater than S:
myquery = { "address": {"$gt": "S"} }

mydoc = mycol.find(myquery)

for x in mydoc:
  print(x)

Filter Dengan Ekspresi Reguler

Anda juga dapat menggunakan ekspresi reguler sebagai pengubah.

Ekspresi reguler hanya dapat digunakan untuk membuat kueri string.

Untuk hanya menemukan dokumen yang field “address” diawali dengan huruf “S”, gunakan persamaan reguler {“$ regex“: “^ S”}:

Contoh:
Temukan dokumen yang alamatnya dimulai dengan huruf “S”

import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]

#address starts with S:
myquery = { "address": { "$regex": "^S" } }

mydoc = mycol.find(myquery)

for x in mydoc:
  print(x)

You may also like