django - 如何正确使用 MongoDB 客户端连接
问题描述
我正在构建一个简单的测试 Web 应用程序,它将用户输入的信息存储在 mongo 数据库中。
没有错误出现,但我在使用客户端时总是收到以下警告(我正在使用 django)。
/home/<User>/.local/share/virtualenvs/<Name>/lib/python3.7/site-packages/pymongo/topology.py:155: UserWarning: MongoClient opened before fork. Create MongoClient only after forking. See PyMongo's documentation for details: http://api.mongodb.org/python/current/faq.html#is-pymongo-fork-safe
"MongoClient opened before fork. Create MongoClient only "
在查看 API 文档后,似乎在使用fork()
未明确使用时会弹出警告。
也许我正在做的事情实际上是触发了叉子。
我创建了我的 mongo 客户端,__init__
然后将变量导入到我的 mongoDB 处理程序。然后,我导入的那个客户端用于在数据库中插入或更新项目。
创建然后使用 mongo 客户端以防止出现此警告的正确方法是什么?
解决方案
阅读 Joe 提供的链接后,确保您没有在全局范围内执行数据库操作,这是我能想到的在分叉之前实例化客户端的最常见方式。
您可能正在使用一个在后台分叉的 Web 服务器,或者某种用于开发的重新加载器,用于分叉以重置状态。
推荐阅读
- excel - 基于更改单元格的弹出窗口或通知
- android - 应为 BEGIN_OBJECT,但在第 STRING 行 - GSON
- swift - 在结构上使用 Swift 协议委托来更改值?
- react-native - 添加新标记后,“react-native-maps”变得非常慢
- python-3.x - python中使用memoization的二项式系数
- c# - C# AesGcm 认证标签
- html - Bootstrap 4 列在彼此下方
- firebase - Firestore:从地图数组中删除项目时出现问题
- json - 构建带有 minnaker 配置程序脚本的 AWS AMI 打包程序时出现 ssh 连接错误
- json - 使用带有 nil 对象的 swift URLImage 包