micromongo

نرم افزار تصویر:
micromongo
جزئیات نرم افزار:
نسخه: 0.1.4
ها تاریخ: 14 Apr 15
توسعه دهنده: Jason Moiron
پروانه: رایگان
محبوبیت: 40

Rating: 5.0/5 (Total Votes: 1)

در micromongo یک لایه کوچک در اطراف pymongo که اجازه می دهد تا به شما برای ایجاد کلاس ساده ORM سبک که می تواند اعتبار انجام، اجازه می دهد نقطه دسترسی به اسناد، نتایج queryset خودکار بسته بندی، و شما از قبل / بعد از صرفه جویی قلاب را است.
آن را با microframeworks در ذهن طراحی شده است، اما برنامه و چارچوب عرفان منکر وجود خدا است. این به معنای ساده استفاده از pymongo و ابزار ارائه برای اصطلاحات رایج، برای پنهان نمی pymongo یا مانگودیبی از ساختمان داده های خود را.
شما خوش آمدید برای باز کردن مسائل و یا ارسال درخواست کشش در گیتهاب micromongo هستند
micromongo می سازد چند تصمیمات طراحی به نام ساده که ممکن است برای شما کار نمی کند:
و nbsp؛ - & nbsp؛ در micromongo حفظ یک اتصال جهانی، بنابراین شما می توانید مدل است که به سرورهای مانگودیبی چند اتصال ندارد
و nbsp؛ - & nbsp؛ در هستند، مشتی از نام مدل و نامهای ویژگی سند که با مدل های micromongo کار نخواهد کرد وجود دارد. این خواهد شد در اسناد کامل تحت پوشش
و nbsp؛ - & nbsp؛ در شما تنها می توانید یک مدل در هر مجموعه،
شروع کار
برای شروع بازی با micromongo، فقط آن را وارد:
>>> از واردات micromongo اتصال، مدل
>>> C = اتصال ()
اتصال استدلال همان طول می کشد به عنوان شی اتصال pymongo، و رفتار تقریبا یکسان، به جز که آن را تلاش برای به طور خودکار نتایج پرس و جو پیچیده شده در کلاس های مدل مناسب بازگشت. هدف اتصال است که شما از طریق این تماس ایجاد خواهد شد ذخیره سازی و استفاده شده توسط امکانات مختلف ORM سبک، مانند Model.save ()، Model.proxy، و غیره اگر شما می خواهید پاک، شی اتصال استاندارد، شما می توانید به راحتی دریافت :
>>> از micromongo واردات clean_connection
>>> تمیز = clean_connection ()
توجه داشته باشید که clean_connection می کند استدلال را ندارد و همیشه یک کلاس اتصال تمیز با همان تنظیمات به عنوان اتصال micromongo فعلی بازگشت.
با این اشیاء اتصال، شما می توانید پایگاه داده های ایجاد و یا انجام هر کاری شما را با اشیاء pymongo نرمال:
>>> DB = c.test_db
>>> مجموعه = db.test_collection
>>> collection.save ({"docid": 1، "شکست": غلط})
>>> collection.find_one ()
{u'_id ': ObjectId (' ... ')، u'fail': غلط، u'docid: 1}
شما همچنین می توانید مدل خود را برای جمع آوری خاص در سبک اعلانی اعلام:
>>> TestModel کلاس (مدل):
و nbsp؛ & nbsp؛ از & nbsp؛ از & nbsp؛ از & nbsp؛ از & nbsp؛ در و nbsp؛ مجموعه = 'test_db.test_collection'
>>> collection.find_one ()

این کلاس ها که تعدادی از ویژگی های اضافی بیش از یک فرهنگ لغت است که می تواند آنها را بسیار راحت تر استفاده کنید. کلید سند تمام در دسترس به عنوان صفات عبارتند از:
>>> T = collection.find_one ()
>>> t.fail
غلط
>>> t.docid
1
اسناد نیز به راحتی به پایگاه داده ادامه:
>>> t.docid = 17
>>> t.save ()
>>> clean.test_db.test_collection.find_one ()
{u'_id ': ObjectId (' ... ')، u'fail': غلط، u'docid ': 17}
تعریف مدل
عکس بالا، ویژگی مجموعه به مدل فو ما اختصاص داده بود. این یک میانبر بود، هر چند. اگر پایگاه داده ها و مجموعه ها به طور جداگانه اختصاص داده، این مدل می کشف کردن نام مجموعه کامل. اگر جمع آوری و پایگاه داده وجود ندارد، micromongo تلاش برای آن را کشف کردن بر اساس طبقه و ماژول به نام مدل خود را. به عنوان مثال، blog.Post تبدیل خواهد شد blog.post، یا stream.StreamEntry تبدیل خواهد شد stream.stream_entry. صریح و روشن بهتر از ضمنی است، و آن را تشویق که شما جمع آوری مجموعه ای دستی.
علاوه بر بسته بندی و باز کردن نتایج را از پایگاه داده، مدل همچنین می توانید یک سند تنظیمات که می تواند به صورت پیش فرض تعریف و انجام اعتبار سنجی قبل از ذخیره مدل را تعریف کنیم. نگاهی به پست وبلاگ بی اهمیت مدل:
>>> از واردات micromongo.spec *
>>> طبقه پست (مدل):
و nbsp؛ & nbsp؛ از & nbsp؛ از & nbsp؛ از & nbsp؛ از & nbsp؛ در و nbsp؛ مجموعه = 'test_db.blog_posts'
و nbsp؛ & nbsp؛ از & nbsp؛ از & nbsp؛ از & nbsp؛ از & nbsp؛ در و nbsp؛ تنظیمات = DICT (
و nbsp؛ & nbsp؛ از & nbsp؛ از & nbsp؛ از & nbsp؛ از & nbsp؛ از & nbsp؛ از & nbsp؛ از & nbsp؛ از & nbsp؛ در و nbsp؛ نویسنده = درست (مورد نیاز = واقعی، به طور پیش فرض = 'jmoiron'، نوع = basestring)،
و nbsp؛ & nbsp؛ از & nbsp؛ از & nbsp؛ از & nbsp؛ از & nbsp؛ از & nbsp؛ از & nbsp؛ از & nbsp؛ از & nbsp؛ در و nbsp؛ عنوان = درست (مورد نیاز = کاذب، به طور پیش فرض = ''، نوع = basestring)،
و nbsp؛ & nbsp؛ از & nbsp؛ از & nbsp؛ از & nbsp؛ از & nbsp؛ از & nbsp؛ از & nbsp؛ از & nbsp؛ از & nbsp؛ در و nbsp؛ منتشر = درست (مورد نیاز = واقعی، به طور پیش فرض = کاذب، نوع = [درست، غلط])،
و nbsp؛ & nbsp؛ از & nbsp؛ از & nbsp؛ از & nbsp؛ از & nbsp؛ از & nbsp؛ از & nbsp؛ از & nbsp؛ از & nbsp؛ در و nbsp؛ بدن = درست (نوع = یونیکد)،
و nbsp؛ & nbsp؛ از & nbsp؛ از & nbsp؛ از & nbsp؛ از & nbsp؛ از & nbsp؛ از & nbsp؛ از & nbsp؛ از & nbsp؛ در و nbsp؛ برچسب زمان = درست ()،
و nbsp؛ & nbsp؛ از & nbsp؛ از & nbsp؛ از & nbsp؛ از & nbsp؛ در و nbsp؛ )
>>> P = Post.new ()
>>> P
<ارسال: {'عنوان': U ''، 'نویسنده: u'jmoiron'، 'منتشر': غلط}>
چند چیز می رویم در اینجا. زمینه هایی که به طور پیش فرض به آن به طور پیش فرض که آیا آنها مورد نیاز هستند یا نه مقداردهی اولیه. اگر به فیلد ضروری می کند به طور پیش فرض را نداشته باشند، آن را به هیچ مقداردهی اولیه.
زمینه می تواند استدلال نوع، که یا می توانید یک صدازدنی که طول می کشد ارزش و بازده درست یا غلط، یک یا انواع پایه، یا یک یا چند ارزش می شود را. اگر یک یا چند نوع ارائه هستند، isinstance استفاده می شود برای تست که ارزش هستند از نوع حق. اگر یک یا چند ارزش ارائه شده است، درست به عنوان یک نوع شمارشی عمل می کند، چک کردن که ارزش ها در مجموعه خود را از ارزش ها هستند. اگر هیچ نوع داده می شود، اعتبار سنجی همیشه در یک میدان عبور می کند، مگر آن مورد نیاز است و وجود ندارد.
اگر درست در ص داده شده است یک نوع نامعتبر، سپس ValueError مطرح شده است:
>>> p.title = 10
>>> p.save ()
Traceback (بیشتر تماس های اخیر آخرین):
و nbsp؛ ...
ValueError: کلید به تنظیمات مطابقت ندارد: ['عنوان']
>>> دل p.author
>>> p.save ()
Traceback (بیشتر تماس های اخیر آخرین):
و nbsp؛ ...
ValueError: زمینه های گمشده: ['نویسنده']، زمینه های نامعتبر: ['عنوان']
>>> p.title = 'اولین blogpost من "
>>> p.author = 'jmoiron'
>>> p.published = واقعی
>>> p.body = U "این اولین پست وبلاگ من .. و nbsp است. من خیلی هیجان زده!"
>>> p.save ()
Model.find
برای راحتی و خشک، Model.find classmethod که مکان نما micromongo به صدور پیدا برابر مجموعه سمت راست استفاده کنید. این روش رفتار دقیقا همان Collection.find pymongo است.
کلاس مکاننما اندکی تغییر micromongo نیز باعث می شود یک روش order_by-جنگو الهام در دسترس همه نشانگر (پیدا کردن و هر چیزی که زنجیر کردن اگر آن را برمی گرداند مکان نما). شما می توانید یک یا چند نام درست عبور، با پیشرو اختیاری '-'، برای مرتب کردن چیز صعودی یا نزولی.
این تغییرات به شما اجازه بیشتر از قدرت pymongo استفاده بدون نیاز به آن را وارد، و به شما اجازه تکرار بی نیاز از محل اطلاعات شما جلوگیری می کند.
subclassing درست
شما را تشویق به ایجاد زمینه های خود را که انجام آنچه شما می خواهید. زیر درست یک pre_validate تابع قلاب را که ارزش های ورودی و می توانید آن را تبدیل به هر حال آنها می خواهند. توجه داشته باشید که این تنها کار خواهد کرد اگر زمینه در واقع وجود دارد. تا به چیزی شبیه به یک auto_now_add در DateTimeField، شما می خواهید به آن را لازم و pre_validate آن به نوبه خود هیچ به datetime.datetime.now ()

مورد نیاز:.

پایتون

نرم افزار های مشابه

ezRadius
ezRadius

2 Jun 15

OSPRep
OSPRep

11 May 15

SQLObject
SQLObject

28 Sep 15

DB Solo
DB Solo

17 Feb 15

نرم افزار های دیگر از توسعه دهنده Jason Moiron

redtape
redtape

14 Apr 15

speedparser
speedparser

14 Apr 15

pdf2zip
pdf2zip

11 May 15

نظرات به micromongo

نظر یافت نشد
اضافه کردن نظر
روشن کردن تصاویر!