如何在不使用模型的情况下在 django-nonrel 中配置 mongoDB 索引?

2024-04-19

我正在使用 mongodb 和 django-nonrel 构建一个网站。我读过各个地方 https://stackoverflow.com/questions/2740837/which-python-api-should-be-used-with-mongo-db-and-django对于 mongo,最好直接使用 pymongo 而不是 django ORM。这也符合我的经验——django 的 ORM 对于关系数据库来说非常棒,但是它并没有给你提供 pymongo 已经做不到的功能。

我的问题是,我不知道如何在不使用 django 的 ORM 的情况下最初设置数据库表(错误...“集合”)。我需要怎么做才能摆脱models.py和syncdb的束缚,自己写代码呢?

似乎有人应该已经为此创建了一份指南,但我找不到。

更详细一点:

现在,我正在构建模型并运行syncdb来配置数据库。到目前为止,django 的 ORM 魔力已经让它发挥作用了。但我需要做一些稍微花哨的事情,比如对子元素建立索引,所以我认为 ORM 不再适合我了。

最重要的是,我不在项目中的其他任何地方使用模型(除了 auth_users 和会话)。真正的模式在 json 中的其他地方定义。我不想同时维护模型类和 json 模式——这只是不好的做法。

最后,我有一个“loadfixtures”管理命令,用于刷新、syncdb 和加载装置。看起来这对于新的 ORM 替换代码来说是一个非常好的地方,我只是不知道该代码应该是什么样子......


使用 MongoDB,您不需要额外的步骤来预先声明schema http://www.mongodb.org/display/DOCS/Schema+Design“建立”收藏。 MongoDB 面向文档的本质实际上并不强制执行严格的模式;集合中的文档可以根据需要具有不同的字段。这是一个需要习惯的不同概念,但是一旦您开始将数据保存到集合中,集合就会被创建。

可以使用 pymongo 添加索引确保索引 http://api.mongodb.org/python/current/api/pymongo/collection.html在一个集合上。

与数据插入时创建集合类似,添加索引时如果集合不存在也会创建集合。

一篇应该可以帮助您入门的文章:将 MongoDB 与 Django 结合使用 http://www.ibm.com/developerworks/opensource/library/os-django-mongo/index.html.

如果您是 MongoDB 新手,您可能还想尝试一下简短的在线教程 http://try.mongodb.org/.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在不使用模型的情况下在 django-nonrel 中配置 mongoDB 索引? 的相关文章

随机推荐