问题标签 [flask-pymongo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
256 浏览

pymongo-3.x - pymongo 聚合集合键

在此处使用此答案https://stackoverflow.com/a/43570730/7626649

我想用烧瓶-pymongo 来做这件事。

具体来说,我想在 flask-pymongo 和/或 pymongo 中执行以下查询(看起来如果它可以在一个中完成,那么它可以在另一个中完成..我希望):

这是我到目前为止所做的:

我已经验证“db”是一个活动的 Flask-Pymongo 连接到包含被查询集合的数据库。这是 db.command() 的输出,explain=True:

我省略了实际的数据库和集合名称,并将它们替换为上面的 MYDB.collection。db.command() 证明 db.connection 是一个有效的连接,问题不在于查询那部分的语法。

结果我得到一个空列表,没有错误。该 URL 已修改为不显示某些信息。查看 db.command() 结果以证明 db 连接和集合存在并且正在正确连接。

我正在使用什么:

0 投票
1 回答
197 浏览

flask - 为什么 Flask-PyMongo bulk_writes 方法不存在?

我有一些这样的代码片段:

当我尝试执行它时,我收到错误消息:

PyMongo 文档Collectionobject 有这个方法,虽然我知道这Flask-Pymongo是一个PyMongo. 可能是什么问题,我如何使用bulk_writes()集合Flask-Pymongo

谢谢您的帮助!

0 投票
2 回答
1430 浏览

python-3.x - 从 Python Flask 应用程序连接到 Mongo 服务器

我是python的初学者。我正在尝试从我的 python 烧瓶应用程序连接到 Mongo DB 服务器。但是由于遇到以下问题,我无法运行该应用程序。

这是我的源代码。当我执行此操作时,我收到以下错误,我无法跟踪它。

注意:我还没有在我的电脑上安装 mongoDb。我正在使用 mongo db 作为服务

0 投票
1 回答
200 浏览

python - 在mongodb中通过python api插入值

我正在尝试使用 python api 在 mongodb 中插入值。我尝试了以下方法:

并且我收到“请求的 URL 不允许该方法”的错误。

我对我在这里给出的路线感到怀疑,但不确定。

0 投票
1 回答
1336 浏览

pymongo - 找到一个-插入/更新-flask_pymongo

这是我的代码:

如您所见,我正在插入一条记录,上面的代码工作正常。我应该怎么做才能实现以下功能?

  • filePathHash检查数据库中是否已经存在值为 的记录。如果是,则更新相应的文档,否则将其作为新记录插入。
0 投票
2 回答
2489 浏览

flask - AttributeError:“字节”对象没有属性“编码”

我正在尝试构建用户登录系统,并且我已经成功构建了用户注册页面,但是当我尝试登录时,出现以下错误。我正在使用烧瓶、python3.6 和 pymongo。这是错误:AttributeError: 'bytes' object has no attribute 'encode' 请帮助。

Traceback(最近一次调用最后一次):文件“C:\Users\elvis\AppData\Local\Programs\Python\Python36\lib\site-packages\flask\app.py”,第 2309 行,调用中 返回 self.wsgi_app(environ, start_response) 文件“C:\Users\elvis\AppData\Local\Programs\Python\Python36\lib\site-packages\flask\app.py”,第 2295 行,在 wsgi_app response = self. handle_exception(e) 文件“C:\Users\elvis\AppData\Local\Programs\Python\Python36\lib\site-packages\flask\app.py”,第 1741 行,在 handle_exception reraise(exc_type, exc_value, tb) 文件中“C:\Users\elvis\AppData\Local\Programs\Python\Python36\lib\site-packages\flask_compat.py”,第 35 行,在 reraise raise 值文件“C:\Users\elvis\AppData\Local\Programs \Python\Python36\lib\site-packages\flask\app.py”,第 2292 行,在 wsgi_app 响应 = self.full_dispatch_request() 文件“C:\Users\elvis\AppData\Local\Programs\Python\Python36\lib \site-packages\flask\app.py",第 1815 行,在 full_dispatch_request rv = self.handle_user_exception(e) 文件“C:\Users\elvis\AppData\Local\Programs\Python\Python36\lib\site-packages\flask\app.py”,第 1718 行,在 handle_user_exception reraise(exc_type , exc_value, tb) 文件“C:\Users\elvis\AppData\Local\Programs\Python\Python36\lib\site-packages\flask_compat.py”,第 35 行,在 reraise raise value 文件“C:\Users\elvis \AppData\Local\Programs\Python\Python36\lib\site-packages\flask\app.py”,第 1813 行,在 full_dispatch_request rv = self.dispatch_request() 文件“C:\Users\elvis\AppData\Local\Programs \Python\Python36\lib\site-packages\flask\app.py”,第 1799 行,在 dispatch_request 中返回 self.view_functionsrule.endpoint 文件“C:\Users\elvis\Desktop\flask apps\testmon\even\app\run .py”,第 30 行,登录 if bcrypt.hashpw(request.form['pass'].encode('utf-8'), login_user['password']) == login_user['password'].encode('utf-8'): AttributeError:“字节”对象没有属性“编码”

错误页面截图

0 投票
0 回答
240 浏览

python - 使用 init_app() 进行 mongo 初始化的 Flask-PyMongo 异常

我正在使用 init_app() 来初始化 mongo 连接,但尽管 mongo 服务器没有运行,但它不会在连接时给我任何错误,但在使用 find 获取数据时会出错。

给出以下错误

0 投票
1 回答
1698 浏览

python - 无法在其他文件中导入 mongo 对象

使用 flask-restful,我无法将mongo = PyMongo()文件中的对象app/__init__.py导入app/common/db.py.

我的文件夹结构如下所示:

app/__init__.py包含:

app/common/db.py包含:

应用程序本身通过run.py从根目录运行,其中包含:

问题:

运行应用程序我得到一个 ImportError:

从应用程序导入 mongo

ImportError:无法导入名称“mongo”

为什么这不起作用?

谢谢你的帮助!

编辑:

完整追溯:

0 投票
2 回答
3246 浏览

python - Flask-PyMongo - init_app() 缺少 1 个必需的位置参数:'app'

我正在尝试使用 flask-pymongo 初始化我的数据库。

但我收到以下错误,

文件“run.py”,第 22 行,在
app = create_app("config")
文件“run.py”,第 11 行,在 create_app
mongo.init_app(app)
类型错误:init_app() 缺少 1 个必需的位置参数:'app '

运行.py

数据库.py

配置文件

应用程序/__init__.py

应用程序/用户/resource.py

我想让他们将 mongo 导入此资源,以便我可以访问用户集合。

我正在尝试使用 Flask-restful 和 flask-pymongo 来设置一个带有资源的 restful api。欢迎任何其他改进我的方法的建议。

0 投票
6 回答
4026 浏览

python - Flask-PyMongo - InsertOneResult 类型的对象不是 JSON 可序列化的

我有一个 api,我正在尝试使用 Flask-Pymongo 存储/发布用户对象。

但是,我收到以下错误

文件“/home/kay/.local/share/virtualenvs/server-iT4jZt3h/lib/python3.7/site-packages/flask/json/i│ nit .py”,第 321 行,在 jsonify
│转储(数据,缩进=indent, separators=separators) + '\n', │ 文件 "/home/kay/.local/share/virtualenvs/server-iT4jZt3h/lib/python3.7/site-packages/flask/json/ i│ nit . py”,第 179 行,转储中
│ rv = _json.dumps(obj, **kwargs) │ 文件“/usr/lib/python3.7/json/init .py ”,第 238 行,转储中
│ **kw) .encode(obj) │ 文件“/usr/lib/python3.7/json/encoder.py”,第 201 行,在编码中
│ chunks = list(chunks) │ 文件“/usr/lib/python3.7/json/encoder.py”,第 438 行,在 _iterencode 中 │ o = _default(o) │ 文件“/home/kay/link/server/ src/run.py",第 18 行,默认
│ return json.JSONEncoder.default(self, o) │ 文件 "/usr/lib/python3.7/json/encoder.py",第 179 行,默认
│ raise TypeError( f'Object of type {o.class.name } ' │ TypeError: Object of InsertOneResult is not JSON serializable

应用程序/用户/resource.py

运行.py