Python MongoDB جستجو
- صفحه قبلی درج MongoDB
- صفحه بعدی جستجوی MongoDB
در MongoDB، ما از روشهای find و findOne برای پیدا کردن دادههای مجموعه استفاده میکنیم.
مثل اینکه SELECT به منظور پیدا کردن دادههای جدول در بانک اطلاعاتی MySQL استفاده میشود.
یک مورد پیدا کن
برای انتخاب دادهها از مجموعههای MongoDB، میتوانیم از find_one()
روش.
find_one()
این روش اولین تطابق انتخابی را برمیگرداند.
مثال
اولین مستند مجموعه "customers" را پیدا کن:
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] x = mycol.find_one() print(x)
تمام را پیدا کن
برای انتخاب دادهها از جدولهای MongoDB، میتوانیم از find()
روش.
find()
این روش تمام تطابقهای انتخابی را برمیگرداند.
find()
اولین پارامتر روش شیء query است. در این مثال، ما از یک شیء query خالی استفاده کردهایم که تمام مستندات مجموعه را انتخاب میکند.
find()
این روش هیچ پارامتری ارائه نمیدهد که نتیجهای مشابه SELECT * در MySQL داشته باشد.
مثال
تمام مستندات مجموعه "customers" را برمیگرداند و هر مستند را چاپ میکند:
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] برای x در mycol.find(): print(x)
فقط برخی از فیلدها را برمیگرداند
find()
دومین پارامتر روش توضیح میدهد که کدام فیلدها در نتیجه شامل میشوند.
این پارامتر اختیاری است، اگر مشخص نشود، تمام فیلدها در نتایج شامل خواهند شد.
مثال
فقط نام و آدرس را بازمیگرداند، نه _ids:
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] برای x در mycol.find({},{ "_id": 0, "name": 1, "address": 1 }): print(x)
نمیتوان در یک شیء به طور همزمان 0 و 1 مشخص کرد (مگر اینکه یکی از فیلدها _id باشد). اگر فیلدی با مقدار 0 مشخص شود، مقدار تمام فیلدهای دیگر 1 خواهد بود و برعکس:
مثال
این مثال "address" را از نتایج حذف میکند:
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] برای x در mycol.find({},{ "address": 0 }): print(x)
مثال
اگر در یک شیء به طور همزمان 0 و 1 مشخص شود، خطا رخ خواهد داد (مگر اینکه یکی از فیلدها _id باشد):
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] برای x در mycol.find({},{ "name": 1, "address": 0 }): print(x)
- صفحه قبلی درج MongoDB
- صفحه بعدی جستجوی MongoDB