آموزش GridFS در MongoEngine

3 سال پیش
آموزش GridFS در MongoEngine

آموزش GridFS در MongoEngine

در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش GridFS در MongoEngine خواهیم پرداخت.

پیشنهاد ویژه : پکیج آموزش پایتون

در MongoDB، پرونده هایی با اندازه بزرگتر از ۱۶ مگابایت با استفاده از مشخصات GridFS ذخیره می شوند. یک پرونده به چند قطعه تقسیم شده است که هر کدام دارای اندازه پیش فرض ۲۵۵KB هستند. تکه بزرگ ممکن است به اندازه لازم بزرگ باشد. GridFS از دو مجموعه استفاده می کند ، یکی برای تکه ها و دیگری برای فراداده.

اگر بخواهید بدون نیاز به بارگیری کامل آن در حافظه ، به آن دسترسی پیدا کنید ، می تواند از GridFS برای ذخیره استفاده شود.

MongoEngine API از GridFS از طریق شی FileField پشتیبانی می کند. با استفاده از این شی می توان داده ها را وارد و بازیابی کرد. استفاده از روش ()put به نوشتن پرونده به عنوان بخشی از Document کمک می کند.

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 بازیابی کرد.

logo = l1.logo.read()

 

روش ()delete برای حذف پرونده ذخیره شده نیز وجود دارد.

l1 = lang.objects(name='Python').first()
l1.logo.delete()
l1.save()

 

توجه داشته باشید که FileField فقط شناسه پرونده را در یک مجموعه جداگانه GridFS ذخیره می کند. از این رو روش ()delete فایل را از نظر جسمی پاک نمی کند.

روش ()replace به جایگزینی مرجع پرونده با پرونده دیگری کمک می کند.

 

l1 = lang.objects(name='Python').first()
f=open('newlogo.png','rb')
l1.logo.replace(f,content_type='image/png')
l1.save()

 

 

منبع.

 

لیست جلسات قبل آموزش MongoEngine

  1. آموزش MongoEngine
  2. آموزش MongoDB در MongoEngine
  3. آموزش قطب نما MongoDB در MongoEngine
  4. آموزش نگاشت کننده اسناد شی در MongoEngine
  5. آموزش نصب MongoEngine
  6. آموزش اتصال به پایگاه داده MongoDB در MongoEngine
  7. آموزش کلاس Document در MongoEngine
  8. آموزش طرح پویا در MongoEngine
  9. آموزش کلاس Field در MongoEngine
  10. آموزش افزودن / حذف سند در MongoEngine
  11. آموزش استعلام پایگاه داده در MongoEngine
  12. آموزش فیلترها در MongoEngine
  13. آموزش عملگرهای Query در MongoEngine
  14. آموزش روش های QuerySet در MongoEngine
  15. آموزش مرتب سازی در MongoEngine
  16. آموزش مجموعه کوئری های سفارشی در MongoEngine
  17. آموزش نمایه ها در MongoEngine
  18. آموزش aggregation در MongoEngine
  19. آموزش جستجوی پیشرفته در MongoEngine
  20. آموزش جاوا اسکریپت در MongoEngine
0
برچسب ها :
نویسنده مطلب erfan molaei

دیدگاه شما

بدون دیدگاه