首页 > 解决方案 > 如何正确使用 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 客户端以防止出现此警告的正确方法是什么?

标签: djangopython-3.xmongodb

解决方案


阅读 Joe 提供的链接后,确保您没有在全局范围内执行数据库操作,这是我能想到的在分叉之前实例化客户端的最常见方式。

您可能正在使用一个在后台分叉的 Web 服务器,或者某种用于开发的重新加载器,用于分叉以重置状态。


推荐阅读