MongoEngine 中文文档 系列教程 User Guide( 一)
2015-10-09 17:06
567 查看
PS:非常不错的mongoengine新手教程 因为mongoengine用户指导部分已经被翻译,所以这里只转载别人的文章。
原文地址因为什么原因打不开了。这是英文文档地址
最近开始做一个Python + MongoDB的项目,用到了MongoEngine这个非常不错的ORM工具,我将MongoEngine的文档翻译一部分出来,与大家分享。
可以用pip安装MongoEngine:
$ pip install mongoengine
但是如果你没有安装setuptool,那么下载一个 MongoEngine ,然后手动安装
$ python setup.py install
如果你想用最新得MongoEngine,可以从GitHub上下载源码,然后按如下安装:
$ git clone git://github.com/hmarr/mongoengine
$ cd mongoengine
$ python setup.py install
ps:由于mongoengine底层使用的是pymongo库,所以安装mongoengine的时候一定要安装与其版本配套的pymongo版本,否则在使用的时候或出现调用pymongo上的错误。(一般建议安装最新版的pymongo,否则要上网查下版本匹配)。
[python]
from mongoengine import connect
connect('project1', username='webapp', password='pwd123')
在默认情况下,MongoDB的实例是运行在localhost的27017端口上,如果MongoDB是运行于别的地方,那么就需要提供host和port参数:
[python]
connect('project1', host='192.168.1.35', port=12345)
Uri方式的连接也是支持的
[python]
connect('project1', host='mongodb://localhost/database_name')
在MongoEngine 0.6中添加了对多数据库的支持。使用多数据库的时候使用 connect( ),并且提供一个连接的别名,如果没有提供别名就使用default。
在后台里面会使用 register_connection( )来存储那些前端需要的所有别名数据。
单个的文档也能通过在它们的元数据中提供一个db_alias来实现对多数据库的支持。下面这个例子就使用了3个不同数据库来存储数据。
[python]
class User(Document):
name = StringField()
meta = {"db_alias": "user-db"}
class Book(Document):
name = StringField()
meta = {"db_alias": "book-db"}
class AuthorBooks(Document):
author = ReferenceField(User)
book = ReferenceField(Book)
meta = {"db_alias": "users-books-db"}
原文地址因为什么原因打不开了。这是英文文档地址
最近开始做一个Python + MongoDB的项目,用到了MongoEngine这个非常不错的ORM工具,我将MongoEngine的文档翻译一部分出来,与大家分享。
安装MongoEngine
为了使用MongoEngine,我们首先需要先下载一个MongoDB并且确保它能正常运行,你还需要安装pymongo。可以用pip安装MongoEngine:
$ pip install mongoengine
但是如果你没有安装setuptool,那么下载一个 MongoEngine ,然后手动安装
$ python setup.py install
如果你想用最新得MongoEngine,可以从GitHub上下载源码,然后按如下安装:
$ git clone git://github.com/hmarr/mongoengine
$ cd mongoengine
$ python setup.py install
ps:由于mongoengine底层使用的是pymongo库,所以安装mongoengine的时候一定要安装与其版本配套的pymongo版本,否则在使用的时候或出现调用pymongo上的错误。(一般建议安装最新版的pymongo,否则要上网查下版本匹配)。
连接MongoDB
连接一个运行的MongoDB实例,可以使用connect( ) 函数。第一个参数是需要连接的数据库名称,如果该数据库不存在,那么就会新建一个相应的数据库。如果该数据库需要验证登录,那么用户名和密码这些参数也需要提供。[python]
from mongoengine import connect
connect('project1', username='webapp', password='pwd123')
在默认情况下,MongoDB的实例是运行在localhost的27017端口上,如果MongoDB是运行于别的地方,那么就需要提供host和port参数:
[python]
connect('project1', host='192.168.1.35', port=12345)
Uri方式的连接也是支持的
[python]
connect('project1', host='mongodb://localhost/database_name')
在MongoEngine 0.6中添加了对多数据库的支持。使用多数据库的时候使用 connect( ),并且提供一个连接的别名,如果没有提供别名就使用default。
在后台里面会使用 register_connection( )来存储那些前端需要的所有别名数据。
单个的文档也能通过在它们的元数据中提供一个db_alias来实现对多数据库的支持。下面这个例子就使用了3个不同数据库来存储数据。
[python]
class User(Document):
name = StringField()
meta = {"db_alias": "user-db"}
class Book(Document):
name = StringField()
meta = {"db_alias": "book-db"}
class AuthorBooks(Document):
author = ReferenceField(User)
book = ReferenceField(Book)
meta = {"db_alias": "users-books-db"}
相关文章推荐
- ***Xcode Interface Builder或Storyboard中可建立那两种连接?
- iOS开发-------滚动视图(UIScrollView)并实现循环滚动
- iOS开发 手势识别UIGestureRecognizer
- 使用requireJS,backboneJS,和underscoreJS完成自定义模板封装
- RPC和Message Queue对比
- UIButton在不同状态下显示不同背景色
- configure: error: GRUB requires a working absolute objcopy; upgrade your binutils 解决方法
- UINavigationController使用之手动添加UIBarButtonItem
- 【jmeter】Jmeter启动GUI界面出错
- Java --- AbstractQueuedSynchronizer
- UESTC 87 Easy Problem With Numbers 线段树区间更新 逆元 分解质因数
- Guide: Solr performance tuning--转载
- ios上 更改 状态栏(UIStatusBar)的颜色
- 导航控制器UINavigationController
- Android UI框架基本概念
- UIButton中的三个UIEdgeInsets属性(二)
- UIButton中的三个UIEdgeInsets属性(一)
- [Phonegap+Sencha Touch] 移动开发66 sencha touch可编辑的div(ContentEditable=true)下,长按不弹出“复制粘贴”菜单的解决办法
- 【第十五篇】easyui datagrid的列编辑,同时插入两张表的数据进去
- UIButton文字居左显示