آموزش جستجوی پیشرفته در MongoEngine
آموزش جستجوی پیشرفته در MongoEngine
در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش جستجوی پیشرفته در MongoEngine خواهیم پرداخت.
پیشنهاد ویژه : پکیج آموزش پایتون مختص بازار کار
برای اینکه کارایی بیشتری در بازیابی زیرمجموعه ای از فیلدها داشته باشید ، از روش ویژگی Objects فقط استفاده کنید. این امر به ویژه در زمینه هایی با طول بسیار زیاد مانند ListField عملکرد قابل توجهی را بهبود می بخشد. قسمت مورد نیاز را فقط به تابع ()only منتقل کنید. اگر پس از اجرای ()only پرس و جو به سایر فیلدها دسترسی پیدا شود ، مقدار پیش فرض باز می گردد.
1 2 3 4 5 6 7 8 9 10 11 |
from mongoengine import * con=connect('newdb') class person (Document): name=StringField(required=True) city=StringField(default='Mumbai') pin=IntField() p1=person(name='Himanshu', city='Delhi', pin=110012).save() doc=person.objects.only('name').first() print ('name:',doc.name) print ('city:', doc.city) print ('PIN:', doc.pin) |
خروجی
1 2 3 |
name: Himanshu city: Mumbai PIN: None |
توجه – از مقدار مشخصه شهر به عنوان پیش فرض استفاده می شود. از آنجا که پیش فرض برای پین مشخص نشده است، هیچکدام را چاپ نمی کند.
اگر به فیلدهای گمشده نیاز دارید، می توانید تابع ()reload را فراخوانی کنید.
هنگامی که یک کلاس سند دارای ListField یا DictField است ، در حالی که از طریق آن تکرار می شود ، هر یک از اشیا DB DBREf به طور خودکار از آن استفاده می شود. برای افزایش کارآیی بیشتر ، به ویژه اگر سند دارای ReferenceField باشد، می توان با استفاده از تابع select_related () QuerySet را در یک لیست تبدیل کرده و مرجع دهی مجدد را ایجاد کرد، تعداد سوالات را محدود کرد.
MongoEngine API شامل کلاس Q است که برای ساخت نمایشگرهای پیشرفته متشکل از تعداد محدودیت مفید است. Q بخشی از پرس و جو را نشان می دهد که می تواند با نحو استدلال کلمه کلیدی و باینری و و اپراتورها آغاز شود.
1 |
person.objects(Q(name__startswith=’H’) &Q(city=’Mumbai’)) |
لیست جلسات قبل آموزش MongoEngine
- آموزش MongoEngine
- آموزش MongoDB در MongoEngine
- آموزش قطب نما MongoDB در MongoEngine
- آموزش نگاشت کننده اسناد شی در MongoEngine
- آموزش نصب MongoEngine
- آموزش اتصال به پایگاه داده MongoDB در MongoEngine
- آموزش کلاس Document در MongoEngine
- آموزش طرح پویا در MongoEngine
- آموزش کلاس Field در MongoEngine
- آموزش افزودن / حذف سند در MongoEngine
- آموزش استعلام پایگاه داده در MongoEngine
- آموزش فیلترها در MongoEngine
- آموزش عملگرهای Query در MongoEngine
- آموزش روش های QuerySet در MongoEngine
- آموزش مرتب سازی در MongoEngine
- آموزش مجموعه کوئری های سفارشی در MongoEngine
- آموزش نمایه ها در MongoEngine
- آموزش aggregation در MongoEngine
دیدگاه شما