MongoEngine文档翻译__用户向导(二)连接MongoDB

6 篇文章 0 订阅
6 篇文章 0 订阅

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

from mongoengine import connect
connect('project1', username='webapp', password='pwd123')
    在默认情况下,MongoDB的实例是运行在localhost的27017端口上,如果MongoDB是运行于别的地方,那么就需要提供host和port参数:

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

    Uri方式的连接也是支持的

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

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

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

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

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"}



mongoengine 和 flask_mongoengine 都是 MongoDB 的 Python ORM 框架,它们都提供了一些方便的功能来操作 MongoDB 数据库。它们之间的主要区别在于: 1. 适用范围:mongoengine 是一个独立的 Python ORM 框架,可以在任何 Python 项目中使用。而 flask_mongoengine 是基于 Flask 的扩展,专门为 Flask 应用程序提供 MongoDB 的 ORM 功能。 2. 集成方式:mongoengine 可以与任何 Python Web 框架进行集成,例如 Flask、Django 等。而 flask_mongoengine 是 Flask 的扩展,可以直接在 Flask 应用程序中使用,无需额外的配置。 3. 使用方式:mongoengine 的使用方式与 Django 的 ORM 类似,可以通过定义模型类来操作 MongoDB 数据库。而 flask_mongoengine 的使用方式与 Flask 的其他扩展类似,需要先创建一个 Flask 应用程序实例,然后通过初始化扩展来启用 MongoDB 的 ORM 功能。 4. 功能支持:mongoengine 提供了比较全面的 MongoDB ORM 功能,包括数据模型定义、数据查询、数据更新、数据删除、索引定义等。而 flask_mongoengine 则是在 mongoengine 的基础上,为 Flask 应用程序提供了一些方便的功能,例如初始化数据库连接、请求上下文中自动关闭数据库连接、集成 Flask-Admin 管理界面等。 综上所述,mongoengine 和 flask_mongoengine 都是优秀的 MongoDB 的 Python ORM 框架,选择哪一个取决于你的具体需求和项目架构。如果你正在使用 Flask 架构,并且需要 MongoDB ORM 功能,那么 flask_mongoengine 是一个不错的选择。如果你需要一个独立的 MongoDB ORM 框架,并且想要在多个 Python Web 框架中使用,那么 mongoengine 是一个更好的选择。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值