آموزش GridFS در MongoEngine
آموزش GridFS در MongoEngine
در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش GridFS در MongoEngine خواهیم پرداخت.
پیشنهاد ویژه : پکیج آموزش پایتون
در MongoDB، پرونده هایی با اندازه بزرگتر از 16 مگابایت با استفاده از مشخصات GridFS ذخیره می شوند. یک پرونده به چند قطعه تقسیم شده است که هر کدام دارای اندازه پیش فرض 255KB هستند. تکه بزرگ ممکن است به اندازه لازم بزرگ باشد. GridFS از دو مجموعه استفاده می کند ، یکی برای تکه ها و دیگری برای فراداده.
اگر بخواهید بدون نیاز به بارگیری کامل آن در حافظه ، به آن دسترسی پیدا کنید ، می تواند از GridFS برای ذخیره استفاده شود.
MongoEngine API از GridFS از طریق شی FileField پشتیبانی می کند. با استفاده از این شی می توان داده ها را وارد و بازیابی کرد. استفاده از روش ()put به نوشتن پرونده به عنوان بخشی از Document کمک می کند.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
from mongoengine import * con=connect('newdb') class lang (Document): name=StringField() developer=StringField() logo=FileField() l1=lang() l1.name='Python' l1.developer='Van Rossum' f=open('pylogo.png','rb') l1.logo.put(f,content_type='image/png') l1.save() |
محتوای FileField را می توان با استفاده از روش ()read شی Python’s File بازیابی کرد.
1 |
logo = l1.logo.read() |
روش ()delete برای حذف پرونده ذخیره شده نیز وجود دارد.
1 2 3 |
l1 = lang.objects(name='Python').first() l1.logo.delete() l1.save() |
توجه داشته باشید که FileField فقط شناسه پرونده را در یک مجموعه جداگانه GridFS ذخیره می کند. از این رو روش ()delete فایل را از نظر جسمی پاک نمی کند.
روش ()replace به جایگزینی مرجع پرونده با پرونده دیگری کمک می کند.
1 2 3 4 |
l1 = lang.objects(name='Python').first() f=open('newlogo.png','rb') l1.logo.replace(f,content_type='image/png') l1.save() |
لیست جلسات قبل آموزش 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
- آموزش جستجوی پیشرفته در MongoEngine
- آموزش جاوا اسکریپت در MongoEngine
دیدگاه شما