龙卷风异步MongoDB ORM
monguo的Python项目详细描述
Info: | Monguo is a full-featured, asynchronous MongoDB ORM with Motor dirver for Tornado applications. |
---|---|
Author: | Lime YH.Shi |
关于
monguo是一个基于驱动程序Motor的异步mongodb orm。source is on GitHub和文档位于ReadTheDocs。
安装
$ pip install git+https://github.com/mongodb/motor.git $ pip install monguo
依赖关系
示例
classUserDocument(Document):name=StringField(required=True,unique=True,max_length=20)email=EmailField(required=True)age=IntegerField()sex=StringField(required=True,default='male',candidate=['male','female'])meta={'collection':'user'}defget_user_list(skip=10,limit=5):result=yieldUserDocument.find().to_list(limit)raisegen.Return(result)classCommentDocument(EmbeddedDocument):commentor=ReferenceField(UserDocument,required=True)contents=StringField(required=True,max_length=200)classPostDocument(Document):author=ReferenceField(UserDocument,required=True)publish_time=DateTimeField(required=True)title=StringField(required=True,max_length=100)contents=StringField(max_length=5000)comments=ListField(EmbeddedDocumentField(CommentDocument))meta={'collection':'post'}# connect to databaseConnection.connect('test')# insertbob_id=yieldUserDocument.insert({'name':'Bob','email':'bob@gmail.com','age':19})alice_id=yieldUserDocument.insert({'name':'Alice','email':'alice@gmail.com','sex':'female','age':18})post_id=yieldPostDocument.insert({'author':DBRef(UserDocument.meta['collection'],bob_id),'publish_time':datetime.now(),'title':'title',})# updatecomment={'commentor':DBRef(UserDocument.meta['collection'],alice_id),'contents':'I am comments.'}yieldPostDocument.update({'_id':post_id},{'$push':{'comments':comment}})# queryuser=yieldUserDocument.find_one({'name':'Bob'})posts=yieldPostDocument.find().to_list(5)# higher APIuser_list=yieldUserDocument.get_user_list()
文档
需要安装sphinx才能生成文档。文档 可以通过运行python setup.py doc生成。生成的文档 可在doc/build/html/中找到。您可以阅读当前文档 在ReadTheDocs。