python - 在 MongoAlchemy 中运行 Author.save() 时出错

标签 python mongodb-atlas flask-mongoengine mongoalchemy

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

TypeError: init() 得到了一个意外的关键字参数 'safe'

我安装了 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 来实现这一点。

最佳答案

TLDR:迁移到 MongoEngine。无痛

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

关于python - 在 MongoAlchemy 中运行 Author.save() 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56929147/

相关文章:

json - 摆脱 JSON 中的 Mongo $ 符号

python - Mongoengine - 获取对象被引用的位置

mongoDB Atlas ♥︎ Sailsjs(waterline sails-mongo 适配器)

mongodb - 如何连接mi MongoDB指南针?

python - 通过文件名通配符打开文件

python - pandas DataFrame 中的 DatetimeIndex 冲突

javascript - 多文档事务不使用 MongoDB Atlas

flask - MongoClient在派生之前打开。仅创建MongoClient flask

python - Celery - [Errno 111] 使用 delay() 触发 celery 任务时连接被拒绝

python - 是否可以忽略 Matplotlib 的第一个默认绘图颜色?