问题标签 [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.
mongodb - 使用 Pymongo 更新具有匹配 id 和数组元素之一的单个数组项
使用 Pymongo 更新具有匹配 id 和数组元素之一的单个数组项
使用 array_filters 尝试了几个 Pymongo 命令(不确定这是否仅适用于 1 个数组级别深度),但看起来没有任何更新,即使没有报告错误但更新没有发生。
更新以下内容的正确 Pymongo 命令是什么?
*index 是 for 循环中的数字
python - 将单个变量从 mongoDB 存储到烧瓶中的变量
我有一个 mongoDB,集合中有一个名为Movies的集合,我存储了一些信息,如下所示:
我也有一个 html,我只想显示标题:
当我尝试获得收藏中的所有内容而不是我想要的标题时。
我得到的不是标题: {'_id': ObjectId('5f525e1328638ac98f69c936'), 'title': 'Endgame', 'releaseDate': '26 April 2019', 'info': "在复仇者联盟的毁灭性事件之后:无限战争(2018),宇宙一片废墟。在剩余盟友的帮助下,复仇者再次集结,以扭转灭霸的行动,恢复宇宙的平衡。", 'ticketDate': '10/10/20 - 17:00'}
如何仅存储标题?
mongodb - 即使数据存在,Flask PyMongo find_one() 也返回 None
我刚开始使用 MongoDb,但在使用 find_one() 时卡住了。find() 函数完美运行,但使用 find_one() 时返回 None 类型。我被困在这一点上。下面是我正在使用的代码。
它抛出以下错误:
python - Python Flask mongoengine/pymongo:mongo 的 27018 端口上的连接被拒绝
错误是:
我使用 docker 创建了一个带有端口27018的图像。像这样:
在用于测试的 config.py 文件中,我创建了连接,如下所示:
现在,当我尝试测试应用程序时,端口27018无法正常工作。使用端口27017,可以正常工作。在 MONGO_URI 上,我已经尝试传递一些参数,例如authSource="admin"
或使用 pymongo 变量进行连接,但没有任何效果。
内部就像 mongodb 总是强制使用27017端口。这是 mongoengine 的库:https ://github.com/MongoEngine/mongoengine/blob/master/mongoengine/connection.py
python - 当您不知道文档索引时更新 mongodb 数组中的嵌套记录
我想更新嵌套文档的记录,我的文档如下所示:
现在我想更新drink
for的值dinner
,Random Name 2
但我不知道晚餐的索引,它可能在 之上lunch
,也可能在 之下breakfast
。
这是我在 Python 中尝试过的:
但我得到的错误是:
pymongo.errors.WriteError: Cannot create field 'dinner' in element <complete element description>
我计划使用的其他策略是,仅匹配 ID,然后likings
通过保持不需要更改的值并更改我想要更改的值来更新。但是这种方法似乎太明显并且在语义上是错误的,因为我正在使用not updating but updating
一种策略,即无缘无故地干扰集合模式。有没有办法做到这一点,或者我应该继续我的想法
python - 如何拉出嵌套文档
提到这个问题,现在我想从中删除dinner
,Random Name 2
我该怎么做:这是我尝试过的:
但我收到的错误是
pymongo.errors.WriteError: Cannot apply $pull to a non-array value, full error: {'index': 0, 'code': 2, 'errmsg': 'Cannot apply $pull to a non-array value'}
python - pymongo pymongo.errors.ServerSelectionTimeoutError:hour must be in 0..23, Timeout: 30s, Topology Description:
我对 mongo db 很陌生。尝试仅在本地主机上使用 find 方法进行简单的mongo db 提取操作。Mongo 在所有默认设置下运行。使用python 3.7
和pymongo version 3.11.3
包装。我不明白我到底出了什么问题。共享代码如下。
情景#1
这给了我下面的输出
flask version 1.1.2
我的实际目标是在我使用的地方构建API,Flask-PyMongo version 2.3.0
但这也给了我同样的错误,所以我尝试先构建基本的 API。代码如下
情景#2
错误日志如下
场景#1 简单的 MongoClient
我的观察是当我尝试使用简单的 mongoclient 构造函数连接 db 时给我这个输出Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True)
,其中connect 为 True
场景#2 Flask 应用程序
当我使用 flask-pymongo 时,它的数据库连接构造函数给出 了 connect 是 Flase 的位置Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=False), 'mydb')
我不知道它的含义是什么,但认为它可能会带来一些帮助。提前致谢,任何帮助将不胜感激。如果需要任何额外的细节,请告诉我
python-3.x - 如何从 MongoDB 集合中存在的一组文档中找到数组的最大长度?
我在 MongoDB 的集合中存在“n”个文档。这些文件的结构如下:
我想在所有存在的文件中找到提交次数最多的文件。有没有可以做同样事情的 Mongo 查找/聚合查询?
python - MongoDB - $set 和 $addToSet 之间的优先级
我的 API 发生了一些奇怪的事情。我使用 python 使我的 Android 应用程序与 MongoDB(社区)通信。我有两个集合,一个用于数据,一个用于元数据。要修改元数据集合中的文档,我使用 $set。我使用 $addToSet 将新数据添加到数据集合中的数组中。但是,我注意到一些奇怪的行为。
这是工作流程,非常简单。应用程序发送一个带有数据和元数据的 JSON,我收到它,我将每个变量分配给两个不同的变量,然后用相应的信息更新每个集合。由于数据来自同一个人,因此 ID 是相同的。所以我使用(python代码):
现在,奇怪的是,第一个操作似乎抵消了第二个操作。实际上,我可以看到 Metadata 集合中用户文档的变化,但我看不到 Data 集合中用户文档的变化。当我颠倒操作顺序时会发生最奇怪的事情。所以我使用:
在这种情况下,它工作得很好,我看到了用户的元数据和数据集合的变化。我认为一些优先问题正在发生。问题是我不知道是哪一个。问题是我不能丢失用户数据,尤其是数据中的数据(元数据不太重要)。因此,即使相反的顺序有效,我仍然担心在某些情况下(例如我的服务器速度变慢、内存不足问题、其他 mongo 问题)我会由于这样的优先级问题而丢失数据。
你知道这里发生了什么吗?
谢谢
mongodb - 如何使用 mongo.send_file 从烧瓶返回多个图像到 html
''' @app.route('/file/') def file(filename): return mongo.send_file(filename) '''
如何返回多个图像以便显示,而不是发送然后作为显示。我使用了从 mongodb 返回一个图像的 send_file。任何帮助将不胜感激。