MongoEngine文档 新手教程 安装MongoEngine&连接MongoDB

  安装MongoEngine

    为了使用MongoEngine,我们首先需要先下载一个MongoDB并且确保它能正常运行,你还需要安装pymongo。

    可以用pip安装MongoEngine:

  1. $ pip install mongoengine  


     但是如果你没有安装setuptool,那么下载一个 MongoEngine ,然后手动安装 

  1. $ python setup.py install  


    如果你想用最新得MongoEngine,可以从GitHub上下载源码,然后按如下安装:

  1. $ git clone git://github.com/hmarr/mongoengine  

  2. $ cd mongoengine  

  3. $ python setup.py install  

    ps:由于mongoengine底层使用的是pymongo库,所以安装mongoengine的时候一定要安装与其版本配套的pymongo版本,否 则在使用的时候或出现调用pymongo上的错误。(一般建议安装最新版的pymongo,否则要上网查下版本匹配)。

    连接MongoDB

      连接一个运行的MongoDB实例,可以使用connect( ) 函数。第一个参数是需要连接的数据库名称,如果该数据库不存在,那么就会新建一个相应的数据库。如果该数据库需要验证登录,那么用户名和密码这些参数也需要提供。

[python] 

  1. from mongoengine import connect  

  2. connect('project1', username='webapp', password='pwd123')  

    在默认情况下,MongoDB的实例是运行在localhost的27017端口上,如果MongoDB是运行于别的地方,那么就需要提供host和port参数:

[python] 

  1. connect('project1', host='192.168.1.35', port=12345)  


    Uri方式的连接也是支持的

[python] 

  1. connect('project1', host='mongodb://localhost/database_name')  

    

    在MongoEngine 0.6中添加了对多数据库的支持。使用多数据库的时候使用 connect( ),并且提供一个连接的别名,如果没有提供别名就使用default。

    在后台里面会使用 register_connection(  )来存储那些前端需要的所有别名数据。

    单个的文档也能通过在它们的元数据中提供一个db_alias来实现对多数据库的支持。下面这个例子就使用了3个不同数据库来存储数据。

[python]  

  1. class User(Document):  

  2.     name = StringField()  

  3.   

  4.     meta = {"db_alias""user-db"}  

  5.   

  6. class Book(Document):  

  7.     name = StringField()  

  8.   

  9.     meta = {"db_alias""book-db"}  

  10.   

  11. class AuthorBooks(Document):  

  12.     author = ReferenceField(User)  

  13.     book = ReferenceField(Book)  

  14.   

  15.     meta = {"db_alias""users-books-db"}  



转载于:https://my.oschina.net/snice/blog/667786

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值