• MongoEngine 中文文档 系列教程 User Guide( 一)


    PS:非常不错的mongoengine新手教程 因为mongoengine用户指导部分已经被翻译,所以这里只转载别人的文章。

    原文地址因为什么原因打不开了。这是英文文档地址

    最近开始做一个Python + MongoDB的项目,用到了MongoEngine这个非常不错的ORM工具,我将MongoEngine的文档翻译一部分出来,与大家分享。

        安装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"}  
  • 相关阅读:
    v-bind 和v-model 的区别
    解决PC端和移动端自适应问题?
    安全解决将字符串" "转换成换行
    最全的正则表达式-匹配中英文、字母和数字(转)
    vue:style标签中的scoped属性(作用域)和lang属性的介绍
    vue项目main.js文件下import router from './router'默认导入router文件夹下index.js的原因
    VUE修改样式无效
    lodop如何获取打印机名称
    深拷贝和浅拷贝
    Vue.js学习笔记:props传递数据(转)
  • 原文地址:https://www.cnblogs.com/fillim/p/4864516.html
Copyright © 2020-2023  润新知