MongoDB Find
Python MongoDB Find
Find One
برای پیدا کردن داده ها در یک Collection از متد ()find_one استفاده میکنیم.
متد ()find_one اولین نتیجه منطبق را بر میگرداند.
مثال: پیدا کردن اولین document در “customers“
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
x = mycol.find_one()
print(x)
Find All
برای انتخاب از یک Collection در MongoDB میتوان از متد ()find هم استفاده کرد.
متد ()find تمام نتایج مرتبط را برمیگرداند.
پارامتر اول متد ()find یک query object است. ما در این مثال از یک query object خالی استفاده کرده ایم که باعث میشود تمام داکیومنت های یک Collection را انتخاب کند. این مانند *SELECT در پایگاه داده SQL است.
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
for x in mycol.find():
print(x)
Return Only Some Fields
پارامتر دوم متد ()find یک object است که میگوید کدام فیلد ها در خروجی نمایش داده شوند.
این پارامتر اختیاری است و اگر استفاده نشود تمام فیلد ها را نمایش میدهد.
مثال: نمایش فیلد های “name” و “address” و عدم نمایش “id_“
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)
مثال: حذف فیلد “address” از نتایج خروجی.
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
for x in mycol.find({},{ "address": 0 }):
print(x)
نمیتوانید همزمان به دو فیلد از یک object مقدار 0 و 1 دهید مگر این که یکی از آن ها فیلد id_ باشد. مثال زیر اشتباه است.
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)