Python MongoDB Find

پیدا کردن یک سند

برای انتخاب داده از یک مجموعه در MongoDB می‌توان از تابع شیء find_one() استفاده کرد.

تابع شیء find_one() اولین رخداد در انتخاب را برمی‌گرداند.


import pymongo

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

x = mycol.find_one()

print(x)

خروجی:

پیدا کردن همه

برای انتخاب داده از یک جدول در MongoDB می‌توان از تابع شیء find() استفاده کرد.

تابع شیپ find() همه رخدادهای موجود در انتخاب را برمی‌گرداند.

اولین پارامتر تابع شیء find() یک شیء کوئری است. در این مثال یک شیء کوئری خالی را استفاده کرده‌ایم که همه سندهای موجود در مجموعه را انتخاب می‌کند.


import pymongo

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

for x in mycol.find():
    print(x)

خروجی:

برگرداندن برخی از فیلدها

دومین پارامتر تابع شیء find() شیء است که مشخص می‌کند کدام فیلدها در نتیجه شامل شوند.

این پارامتر اختیاری استو در صورتی که حذف شود، همه فیلدها برگردانده می‌شوند.


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)

خروجی:

اجازه ندارید که برای یک شیء هم مقدار صفر و هم مقدار یک را داشته باشید (مگر آنکه یکی از فیلدها، فیلد آیدی باشد). اگر مقدار یک فیلد را برابر صفر قرار دهید همه فیلدهای دیگر دارای مقدار یک خواهند بود و برعکس.

import pymongo

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

for x in mycol.find({},{ "address": 0 }):
    print(x)

خروجی:

اگر در یک شیء هر دو مقدار صفر و یک را قرار دهید با خطا مواجه خواهید شد، مگر آنکه یکی از فیلدها آیدی باشد.


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)

خروجی: