MongoDB find
MongoDB da biz to‘plamdagi ma’lumotlarni topish uchun find() va find_one() usullaridan foydalanamiz.
Xuddi SELECT operatori MySQL ma’lumotlar bazasidagi jadvaldagi ma’lumotlarni topish uchun ishlatilgani kabi.
Birini toping
MongoDB to‘plamidan ma’lumotlarni tanlash uchun biz find_one() usulidan foydalanishimiz mumkin.
find_one() usuli tanlovdagi birinchi hodisani qaytaradi.
Misol
Mijozlar to‘plamidagi birinchi hujjatni toping:
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
x = mycol.find_one()
print(x)
Misolni ishga tushirish »
Hammasini top
MongoDB-dagi jadvaldan ma’lumotlarni tanlash uchun biz find() usulidan ham foydalanishimiz mumkin.
find() usuli tanlovdagi barcha hodisalarni qaytaradi.
find() usulining birinchi parametri so‘rov obyektidir. Ushbu misolda biz to‘plamdagi barcha hujjatlarni tanlaydigan bo‘sh so‘rov obyektidan foydalanamiz.
find() usulida hech qanday parametr MySQL-dagi SELECT * bilan bir xil natijani bermaydi.
Misol
"Mijozlar" to‘plamidagi barcha hujjatlarni qaytaring va har bir hujjatni chop eting:
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
for x in mycol.find():
print(x)
Misolni ishga tushirish »
Faqat ba’zi maydonlarni qaytaring
find() usulining ikkinchi parametri natijaga qaysi maydonlarni kiritish kerakligini tavsiflovchi obyektdir.
Bu parametr ixtiyoriy va agar qoldirilsa, barcha maydonlar natijaga kiritiladi.
Misol
_ids emas, faqat ism va manzillarni qaytaring:
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
for x in mycol.find({},{ "_id": 0, "name": 1, "address": 1 }):
print(x)
Misolni ishga tushirish »
Xuddi shu obyektda 0 va 1 qiymatlarini ko‘rsatishga ruxsat berilmagan (maydonlardan biri _id maydoni bo‘lsa bundan mustasno). Agar siz 0 qiymatiga ega maydonni belgilasangiz, boshqa barcha maydonlar 1 qiymatini oladi va aksincha:
Misol
Ushbu misol "manzil" ni natijadan chiqarib tashlaydi:
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
for x in mycol.find({},{ "address": 0 }):
print(x)
Misolni ishga tushirish »
Misol
Agar bitta obyektda 0 va 1 qiymatlarini belgilasangiz, xatoga yo‘l qo‘yasiz (maydonlardan biri _id maydoni bo‘lsa bundan mustasno):
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
for x in mycol.find({},{ "name": 1, "address": 0 }):
print(x)
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
