【发布时间】:2010-09-10 14:35:14
【问题描述】:
你在 Django 中使用过 MongoEngine 或 MongoKit 吗?你更喜欢哪一个?
背景:
我正在开发一个新站点,并且有普通 Django 开发的经验,但对于我将使用的数据类型,MongoDB 将比 SQL 数据库更适合。
我使用的是 Python 2.7,可以在我的主机上编译/安装任何东西,所以这不是问题。
【问题讨论】:
标签: python django mongodb mongoengine
你在 Django 中使用过 MongoEngine 或 MongoKit 吗?你更喜欢哪一个?
背景:
我正在开发一个新站点,并且有普通 Django 开发的经验,但对于我将使用的数据类型,MongoDB 将比 SQL 数据库更适合。
我使用的是 Python 2.7,可以在我的主机上编译/安装任何东西,所以这不是问题。
【问题讨论】:
标签: python django mongodb mongoengine
mongoengine 在处理模型方面会更像 django。这就是我为我的项目选择它的原因
【讨论】:
在我看来,mongoengine 更类似于 django db 模型样式,如 mongokit,但 mongokit 更多地代表原始 mongodb 模型的样式和布局。为 MongoKit +1
如果您可以在这两个库之外进行选择,我会选择 django-mongodb-engine,因为它是专门为 django 和管理界面构建的。
【讨论】:
TL;DR:MongoEngine!
我有幸多次使用 MongoKit 和 MongoEngine 处理复杂的项目。
我会从头开始:GitHub 上的 MongoKit 项目已经死了。在选择正确的工具时,请始终记住,使用维护良好的项目是一个巨大的差异。有更多的功能,更少的错误,总是有人帮助你解决问题。
如果你用 MongoKit 做一些非常简单的事情,你会没事的。但是当使用更多功能时,我发现了越来越多的错误。其实我也提交了修复,没有人接受。另一方面,MongoEngine 社区是超级专业和活的。
在习惯了 MongoEngine 语法后,我喜欢它的每一点:)
【讨论】:
你说你有经验
正常的Django开发
那你为什么不继续使用通常的 Django ORM 并使用 connector 将其连接到 MongoDB 呢?
Djongo:策略是将Django ORM生成的Django SQL查询语法翻译成pymongo命令。 Djongo 将每个 SQL 查询字符串翻译成一个 mongoDB 查询文档。
如果您想使用 Django Admin 操作 MongoDB,请启动它:
manage.py runserver
转到:http://localhost:8000/admin/
如下图所示操作您的 MongoDB 嵌入式模型:
Using Django with MongoDB 上有一篇文章,只需添加一行代码,如果您正在寻找更多信息。否则,您可以直接跳转到djongo documentation 并开始使用它。
【讨论】: