直接在django中使用pymongo

2023-12-07

我正在使用 Django 和 MongoDB 构建一个网站。我们可以使用 2 个流行的 API 框架来连接Django and MongoDB, 一个是mongoengine另一个是django-mongodb-engine.

因为最新的mongoengine不再支持 DjangoDocument, and django-mongodb-engine需要另一个django-nonrel这使得开发环境有点复杂。

我想知道我是否可以使用Pymongo连接Django and MongoDB直接地。

有没有相同经历的人可以分享一下吗?以及如何设置数据库setting.py在 Django 中使数据库公开?


你可以使用pyMongo就像下面的代码

from pymongo import MongoClient


class MongoConnection(object):

    def __init__(self):
        client = MongoClient('localhost', 27017)
        self.db = client['database_name']

    def get_collection(self, name):
        self.collection = self.db[name]

我们根据需要创建连接。

class MyCollection(MongoConnection):

    def __init__(self):
       super(MyCollection, self).__init__()
       self.get_collection('collection_name')

    def update_and_save(self, obj):
       if self.collection.find({'id': obj.id}).count():
           self.collection.update({ "id": obj.id},{'id':123,'name':'test'})
       else:
           self.collection.insert_one({'id':123,'name':'test'})

    def remove(self, obj):
        if self.collection.find({'id': obj.id}).count():
           self.collection.delete_one({ "id": obj.id})

现在你只需要像下面这样打电话。

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

直接在django中使用pymongo 的相关文章

  • 如何添加身份验证中间件 JWT django?

    我正在尝试创建一个中间件来使用 JWT 进行身份验证 但在视图中 request user 始终是 AnonymUser 当我验证中间件通过用户模型更改 request user 时 确实如此 但在到达视图时 由于某种原因 request
  • 环回关系不填充对象 ID 数组

    到目前为止我有 2 个模型 工作流程核心 工作流程步骤 工作流核心有一个steps属性 该属性是数组类型并且包含1 多个步骤 当呼叫接通时工作流程核心响应正文不会使用实际步骤对象填充步骤数组 工作流程核心 json name workflo
  • 在 ubuntu 中卸载 python 模块

    我必须删除一个名为 django 的 python 模块 一种流行的模块 因为我安装了错误的版本 1 3 py 2 6 中的 beta 如何卸载这个模块 请解释一下 因为我只在 Windows 中使用过 python 而从未在 Ubuntu
  • 在 shell/shell 脚本中设置 MongoDB 写关注

    我正在尝试填充一个集合MongoDB的壳 据我了解 使用轻松的Write Concern可以大大加快这个过程 我说的是文档 http docs mongodb org manual core write concern write oper
  • Pinax:自定义注册和个人资料

    我想在用户注册时收集更多信息 并将其显示为个人资料信息的一部分 以便用户在创建登录后可以对其进行编辑 如何在不直接更改 pinax 代码的情况下扩展注册和个人资料表单和模型 来自 松树docs http pinaxproject com d
  • 如何在 Django 模板中显示站点的用户友好名称?

    我正在寻找一种在模板中显示我的 Django CMS 站点名称的方法 我创建了一个基本的 Django CMS 网站如下本指南 http docs django cms org en release 3 4 x introduction i
  • MongoDB 中两个集合之间的 Diff()

    我做过研究 如果这是一个重复的问题 我很抱歉 但其他问题的解决方案并不适合我 因此 我提出了一个新问题 使用 Javascript 比较两个集合的最佳方法是什么 我有数千个这样的 Mongo 文档格式的标头 url google com h
  • Django Rest Framework 序列化器中的聚合(和其他带注释的)字段

    我正在尝试找出添加带注释字段的最佳方法 例如将任何聚合 计算 字段添加到 DRF 模型 序列化器 我的用例只是一种情况 端点返回的字段未存储在数据库中 而是从数据库计算得出 让我们看下面的例子 模型 py class IceCreamCom
  • MongoDB 嵌套数组查询

    我问这个作为评论another https stackoverflow com questions 5250652 query a nested array in mongodb问题 还发了一个question https groups g
  • 为什么 Mongohint 可以使查询运行速度提高 10 倍?

    如果我使用explain 从shell运行mongo查询 获取所使用的索引的名称 然后再次运行相同的查询 但使用hint 指定要使用的相同索引 解释计划中的 millis 字段是显着下降 例如 没有提供任何提示 gt gt db event
  • django 保护用户上传的文件

    如何允许用户将文件上传到他们自己的用户指定的文件夹 并且只能看到他们已上传的文件 我正在使用 django 文件传输 目前 它让我可以选择将媒体放入哪个文件 但我可以将其放入任何用户的文件中并查看每个用户的媒体 这是我的 uploads m
  • $unwind聚合框架中的对象

    在 MongoDB 聚合框架中 我希望在对象 即 JSON 集合 上使用 unwind 运算符 看起来不像是这样possible http docs mongodb org manual reference aggregation S un
  • Django - 具有自动完成功能的 Javascript 动态内联 FormSet

    我正在尝试制作一种能够附加参与者的调度程序事件编辑器 Models class Session models Model start time models DateTimeField end time models DateTimeFie
  • 如何获取Django当前的语言?

    如何获取 Django 中的当前语言 特别感兴趣的功能是django utils translation get language 它返回当前线程中使用的语言 看文档 https docs djangoproject com en dev
  • 操作错误:游标“_django_curs_”不存在

    我们有一个由 django postgresql 和 heroku 提供支持的在线商店 Web 应用程序 对于特定的活动 您可以将活动视为要购买的产品 我们已成功售出 10 000 份以上的副本 然而 根据我们的 Sentry 报告 我们的
  • Django 评论和评级系统

    我正在寻找一个可以与我的 Django 网站顺利集成的博客和评论系统 我在网上发现了很多 但有点迷失了 我在这方面没有太多经验 希望大家能给我一些建议 以下是我想要拥有的东西 标签云 文章存档 按月 按年 文章评级 例如带有星星或自定义图标
  • 如何在 Spring MongoDB 聚合上投影 DBRef?

    我在 MongoDB shell 中完成了以下聚合 以获取每个用户每种类型的警报数量 db getCollection alerts aggregate unwind son group id son son level level cou
  • 国外收藏的查找和排序

    所以我有一个收藏users 并且此集合中的每个文档以及其他属性都有另一个集合中文档的 id 数组 workouts 集合中的每个文档workouts有一个名为date 这就是我想要得到的 对于特定用户 我想要获取属于该用户的锻炼的 work
  • Java 驱动程序相当于 JavaScript shell 的 Object.bsonsize( doc )?

    我想知道 Java 驱动程序相当于 Mongo JavaScript shell 的 Object bsonsize doc 方法 例如 执行以下操作的 Java 代码是什么 bobk mbp bobk mongo MongoDB shel
  • 来自 django 教程 was_published_recently.admin_order_field = 'pub_date'

    From Django 教程 https www jetbrains com help pycharm 2017 1 creating and running your first django project html d28041e21

随机推荐

  • 使用典型的测试目录结构运行单元测试

    即使是简单的 Python 模块 最常见的目录结构似乎也是将单元测试分成自己的test目录 new project antigravity antigravity py test test antigravity py setup py e
  • 不要使用 GIT 覆盖 Azure 上的配置文件

    我有一个托管在 Azure 上的 Web 应用程序 目前有一些网站正在使用从 bitbucket 检索到的相同代码 各种安装之间的唯一区别是它们的连接字符串不同web config针对不同数据库的文件 每当我进行错误修复时 我都会将新代码上
  • 如何在同一个 Spring Boot 应用程序中配置 Neo4j 和 cassandra 存储库

    我已经使用 spring data 通过 spring boot 分别配置了 neo4j 和 cassandra 存储库 但是 当我尝试在同一项目中使用两个存储库时 它无法按预期工作 这是我的文件夹结构 org test project c
  • 如何在 Python 中正确迭代 unicode 字符

    我想迭代一个字符串并输出所有表情符号 我正在尝试迭代这些字符 并根据表情符号列表 然而 python 似乎将 unicode 字符分割成更小的字符 破坏了我的代码 例子 gt gt gt list u Test U0001f60d u T
  • 类型转换 Math.random?

    浏览了这个网站上的问题 但找不到我正在寻找的关于类型转换的答案Math random 方法从 double 到 int 我的问题是 为什么Math random只返回不带括号的 0 而当它包含在括号内时返回随机数 代码的第一部分返回 0 i
  • 如果将新分区添加到 Kafka 主题,消费者偏移量会发生什么?

    当添加新分区时 消费者偏移量会发生什么 它保持不变吗 是的 它保持不变 为每个分区单独维护一个偏移量 因此您的新分区的偏移量将从 0 开始 并且不会影响其他偏移量
  • 在 matplotlib 中使用动画的颜色图问题

    I use matplotlib animation对名为 3D 的数组中的数据进行动画处理arr 我使用 h5 文件读取数据h5py图书馆一切都很好 但是 当使用动画时 颜色图卡在数据范围的第一帧中 并且经过一些步骤后 它在绘图时显示非标
  • XY布局JAVA

    Java 有什么类型的 XY 布局吗 所以我可以在 X 和 Y 坐标处设置一个按钮 它应该是那么大等等 因为这个边框布局以及网格和面板的东西让我发疯 它们到处流动并伸展开来 为了使它们变小 您必须将面板放在面板中面板中面板中 将容器的布局设
  • Jplayer Ready功能不触发flash的解决办法

    我正在使用 Jplayer 2 2 0 和 jquery 1 6 在我的应用程序中播放音频文件 音频必须使用 flash 解决方案 但是 当解决方案选项设置为闪烁时 不会触发就绪功能 因此当我播放文件时会出现错误 当谷歌搜索此问题时 推荐的
  • 通过 Windows docker 文件设置 git

    I write Dockerfile这是基于视窗纳米服务器 我需要将 git 添加到该图像中 为了实现它 我做了以下工作 RUN Invoke WebRequest https github com git for windows git
  • 我应该安装哪个版本的 VS 才能在构建服务器上进行单元测试?

    几周后 我们有了第一个 TFS 2013 设置 该设置相当小 并且暂时只有少数 即 10 开发人员需要使用它 它被设置为 测试 看看它是否适合我们的组织 现在 我们还想测试构建服务器功能 我们已经配置了构建服务器并启用了单个代理 MSDN
  • 如何获取android上assets文件夹中的文件属性?

    我想获取android上assets文件夹中的文件属性 但这不像一般操作使用某种方法来获取 任何人都可以帮助我获取文件属性 例如修改日期 我的资产文件有一个 ok txt 请帮我吗 如果我理解正确 我认为这篇博文将回答您的问题 其中代码显示
  • Naudio - 将 32 位 wav 转换为 16 位 wav

    我一直在尝试将 32 位立体声 wav 转换为 16 位单声道 wav 我使用 naudio 来捕获声音 并认为仅使用四个更重要字节中的两个就可以了 这是 DataAvailable 的实现 void waveIn DataAvailabl
  • 使用 Excel VBA 打开 OneDrive 上的文件

    我有一个 Excel 文件 文件 1 我希望在其中使用 VBA 代码打开我的 OneDrive 上的文件 文件 2 很多人会使用文件 1 所以我希望它在后台打开文件 2 我已经为文件 2 创建了一个共享链接 通过此链接 任何人都应该能够访问
  • 多个 FK 关系中仅 1 个约束

    我有一个逻辑表结构 其中Table A与多个其他表有关系 Table B Table C 但从功能上来说Table A can only ever have the FK forBorC 已填充 Valid Table A Record I
  • “错误:无法解析:com.android.support:appcompat-v7:29.0.1”[重复]

    这个问题在这里已经有答案了 我想尝试 Intellij 平台进行 Android 开发 但即使在新鲜之后它也显示 gradle 失败 请帮忙 我尝试过调整线路 implementation com android support appco
  • 通过python将参数传递到批处理文件中

    我正在尝试将参数发送到批处理文件 我有一个批处理文件 HelloWorld bat 它在脚本的各个点总共要求 4 个输入 我尝试使用 subprocess Popen subprocess call 和 os system 但我无法传递参数
  • 如何在 Android 上检查我的互联网访问情况?

    我真正想要的是 当用户没有连接时 我想显示一些对话框 表明他或她没有连接 我尝试将其放在我的 MainActivity 上 但仍然不起作用 public boolean isOnline ConnectivityManager cm Con
  • 在 TC 服务器上部署 Rails 应用程序

    好吧 这是我的问题 我在 TC 服务器上部署了一个 Rails 应用程序 我有一个 WAR 文件 服务器能够呈现通过 WEB INF 读取的数据 我的看法是这样的 现在 仅当 f label 被注释掉并且 html 标签如 用户名 is w
  • 直接在django中使用pymongo

    我正在使用 Django 和 MongoDB 构建一个网站 我们可以使用 2 个流行的 API 框架来连接Django and MongoDB 一个是mongoengine另一个是django mongodb engine 因为最新的mon