آموزش روش های QuerySet در MongoEngine
آموزش روش های QuerySet در MongoEngine
در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش روش های QuerySet در MongoEngine خواهیم پرداخت.
پیشنهاد ویژه : آموزش طراحی وب سایت با پایتون
شی QuerySet دارای روشهای مفید زیر برای پرس و جو در پایگاه داده است.
()first
اولین سندی که پرسش را برآورده می کند بازگردانده می شود کد زیر اولین سند در مجموعه محصولات را که قیمت آن <20000 است ، برمی گرداند.
1 2 3 |
qset=products.objects(price__lt=20000) doc=qset.first() print ('Name:',doc.Name, 'Price:',doc.price) |
خروجی
1 |
Name: Router Price: 2000 |
()exclude
این باعث می شود که فیلدهای ذکر شده از مجموعه پرس و جو حذف شوند. در اینجا ، از to_json () mehod کلاس Document برای بدست آوردن نسخه JSONified Document استفاده می شود. قسمت ProductID در نتیجه نشان داده نخواهد شد.
1 2 |
for product in products.objects.exclude('ProductID'): print (product.to_json()) |
خروجی
1 2 3 4 5 |
{"_id": {"$oid": "5c8dec275405c12e3402423c"}, "Name": "Laptop", "price": 25000} {"_id": {"$oid": "5c8dec275405c12e3402423d"}, "Name": "TV", "price": 50000} {"_id": {"$oid": "5c8dec275405c12e3402423e"}, "Name": "Router", "price": 2000} {"_id": {"$oid": "5c8dec275405c12e3402423f"}, "Name": "Scanner", "price": 5000} {"_id": {"$oid": "5c8dec275405c12e34024240"}, "Name": "Printer", "price": 12500} |
()fields
از این روش برای دستکاری زمینه های بارگیری در مجموعه درخواست استفاده کنید. از نام فیلدها به عنوان آرگومان های کلمه کلیدی استفاده کنید و 1 را در نظر بگیرید ، 0 را حذف کنید.
1 2 |
for product in products.objects.fields(ProductID=1,price=1): print (product.to_json()) |
خروجی
1 2 3 4 5 |
{"_id": {"$oid": "5c8dec275405c12e3402423c"}, "ProductID": 1, "price": 25000} {"_id": {"$oid": "5c8dec275405c12e3402423d"}, "ProductID": 2, "price": 50000} {"_id": {"$oid": "5c8dec275405c12e3402423e"}, "ProductID": 3, "price": 2000} {"_id": {"$oid": "5c8dec275405c12e3402423f"}, "ProductID": 4, "price": 5000} {"_id": {"$oid": "5c8dec275405c12e34024240"}, "ProductID": 5, "price": 12500} |
تنظیم آرگومان کلمه کلیدی فیلد بر روی 0 در ()fields روش مشابهی دارد که روش ()exclude را حذف می کند.
1 2 |
for product in products.objects.fields(price=0): print (product.to_json()) |
خروجی
1 2 3 4 5 |
{"_id": {"$oid": "5c8dec275405c12e3402423c"}, "ProductID": 1, "Name": "Laptop"} {"_id": {"$oid": "5c8dec275405c12e3402423d"}, "ProductID": 2, "Name": "TV"} {"_id": {"$oid": "5c8dec275405c12e3402423e"}, "ProductID": 3, "Name": "Router"} {"_id": {"$oid": "5c8dec275405c12e3402423f"}, "ProductID": 4, "Name": "Scanner"} {"_id": {"$oid": "5c8dec275405c12e34024240"}, "ProductID": 5, "Name": "Printer"} |
()only
تأثیر این روش مشابه روش ()fields است. فیلدهای مربوط به آرگومان های کلمه کلیدی فقط در مجموعه درخواست نمایش داده می شوند.
1 2 |
for product in products.objects.only('Name'): print (product.to_json()) |
خروجی
1 2 3 4 5 |
{"_id": {"$oid": "5c8dec275405c12e3402423c"}, "Name": "Laptop"} {"_id": {"$oid": "5c8dec275405c12e3402423d"}, "Name": "TV"} {"_id": {"$oid": "5c8dec275405c12e3402423e"}, "Name": "Router"} {"_id": {"$oid": "5c8dec275405c12e3402423f"}, "Name": "Scanner"} {"_id": {"$oid": "5c8dec275405c12e34024240"}, "Name": "Printer"} |
()sum
این روش مجموع فیلد داده شده را در مجموعه جستجو محاسبه می کند.
()average
این روش میانگین فیلد داده شده را در مجموعه درخواست محاسبه می کند.
1 2 3 4 |
avg=products.objects.average('price') ttl=products.objects.sum('price') print ('sum of price field',ttl) print ('average of price field',avg) |
خروجی
1 2 |
sum of price field 94500 average of price field 18900.0 |
لیست جلسات قبل آموزش MongoEngine
- آموزش MongoEngine
- آموزش MongoDB در MongoEngine
- آموزش قطب نما MongoDB در MongoEngine
- آموزش نگاشت کننده اسناد شی در MongoEngine
- آموزش نصب MongoEngine
- آموزش اتصال به پایگاه داده MongoDB در MongoEngine
- آموزش کلاس Document در MongoEngine
- آموزش طرح پویا در MongoEngine
- آموزش کلاس Field در MongoEngine
- آموزش افزودن / حذف سند در MongoEngine
- آموزش استعلام پایگاه داده در MongoEngine
- آموزش فیلترها در MongoEngine
- آموزش عملگرهای Query در MongoEngine
دیدگاه شما