3

现在看来我可以连接到 MongoDB 集群,但是当我尝试保存时,我收到以下错误:

TypeError:init()得到了一个意外的关键字参数“安全”

我安装了 Flask-MongoAlchemy 0.7.1,因为 0.7.2 根本没有连接。

我正在关注文档页面上的简单示例。在 models.py 我有以下内容:

class Author(db.Document):
    name = db.StringField()

我运行以下

from myapp import db
from myapp.models import Author
author = Author(name="James")
author.save()

然后我得到错误。

我已经看到了一篇关于此的帖子,并尝试将 required=True 添加到我声明名称的位置。我可以确认 pymongo 版本是 3.8.0。

我发现 pymongo 需要 3.8.0 才能使用“mongodb+srv”的 URI,但它需要 2.8.0 才能传递安全参数。问题是我的代码在 python3 中,Atlas 告诉我连接字符串必须有“mongodb+srv”,所以这与 pymongo 的版本冲突。我不确定是否有可能使用 Flask-MongoAlchemy 来完成这项工作。

4

1 回答 1

1

TLDR:迁移到 MongoEngine。它是无痛的

来到这里寻找答案。在网上找不到任何东西。在 GitHub MongoAlchemy 上说,它不再被维护。如果您正在寻找像我这样的答案,我不得不迁移到MongoEngine

于 2021-01-07T06:19:59.460 回答