问题标签 [motor-asyncio]
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.
python - 当 loop.run_until_complete 工作时,asyncio.run 失败
此代码失败:
出现此错误:
当我取消注释两行loop
并进行注释asyncio.run
时,效果很好。什么事?我认为asyncio.run
是这两条线的捷径。
问题出在motor_asyncio
实现中,因为当我更改main
为 simple时return 42
,它asyncio.run
也运行良好。
mongodb - 使用电机连接到 MongoDB 时,Asyncio(Quart)抛出附加到不同循环错误的任务
我使用 MongoDB 和 Motor.Asyncio 创建了一个带有 Quart 的 webapp。当应用程序尝试查询数据库时,会引发错误:
我不明白为什么会发生这种情况,也不知道如何解决。
该应用程序一直运行没有问题,但我决定从 Python 3.6(在 Ubuntu-18.04 上)升级到 python 3.7.1。有了这个,我将 Quart 升级到 0.9.0。由于此升级,发生了上述错误。
该应用程序使用 Hypercorn 和 Nginx 从命令行运行。
在这种情况下,我不确定我的代码的哪些部分是相关的
我先导入 Quart,然后再导入 Motor:
在此之后,我添加:
我试过在电机导入块之前移动它,它没有改变任何东西。
正如问题/答案中所建议的: RuntimeError: Task attach to a different loop 我添加了:
那并没有解决它。
这是第一次调用电机的块,错误发生的地方:
我可以忽略错误并继续,但随后进行下一次调用并发生相同的错误。
我知道 Quart 在默认的 event_loop 上工作,应该不需要为电机创建一个特殊的循环。它在以前的版本中没有它的工作。所以我完全不知所措。
python - mondodb 拒绝了具有 srv 远程连接的 Python Montor asyncio
我一直在使用 pymongo 模块连接到 mongodb 并且我没有遇到任何问题,但是现在,我必须处理一些重要信息(每天大约 100 万个文档左右),我想尝试异步模块 Motor 一起工作。但是,我无法让它工作。因此,文档中说 motor.MotorClient 或 motor.motor_asyncio.AsyncIOMotorClient 应该作为 pymongo.Client 工作,它接收带有 srv 连接的字符串,应该是这样,但是每次我尝试使用电机客户端时,它抛出下一个错误:
所有名称服务器都未能回答查询集群主机。IN SRV:服务器 some-ip UDP 端口 53 已回答 REFUSED;服务器 some-ip UDP port 53 回答 DNS 操作超时。服务器 some-ip UDP 端口 53 已回答 REFUSED
有什么我想念的吗?
提前致谢...
mongodb - 在 MongoDB 中找不到带有自定义 _id 的记录
我有一个 MongoDB 数据库,我在其中_id
使用一些生成的标签手动覆盖了该字段(重复不是问题)。
麻烦的是,我正在尝试find_one
搜索,_id
但它会不断返回None
,我无法终生弄清楚。任何帮助,将不胜感激。
这是我到目前为止的代码:
编辑:
我在 pyMongo 文档中找到了一些关于ObjectID
. 我尝试使用以下代码实现它:
但是得到这个回溯:
bson.errors.InvalidId: 'mystring' is not a valid ObjectId, it must be a 12-byte input or a 24-character hex string
mongodb - Fastapi python mongodb错误无法执行数据库操作
我正在尝试从 database.py 访问 main.py 中的 mongodb 连接。但我得到 None 类型。请建议任何方法。下面是我的代码。我对从 database.py 获取 db 对象感到困惑。
浏览了互联网上的所有文档。但仍然没有解决办法。下面是我的 database.py 代码
下面是主要的py代码。
python - Python - 从 MongoDB [motor_asyncio] 获取文档
在 MongoDB 上,使用 "username" 上的 uniq 索引创建 "security" 集合,我正在使用 motor.motor_asynci 与 Mongo 一起工作。尝试获取与“用户名”相关的文档,如下所示:
得到“TypeError:'AsyncIOMotorCursor'对象不可迭代”
由于这个集合在搜索键上有 uniq 索引,我也尝试了 find_one 但也没有工作:
得到:
python - MongoDB中的多查询到单个集合以获得复杂的排序?
通过什么在 MongoDB(python、motor)中发出这种请求?
有一个文档集。有必要按以下顺序将它们显示在一个列表中:
- 先急。
- 进一步未兑现。
- 进一步的剩菜按日期从最近到最旧排序。
我制作了这样的工作解决方案,但我正在寻找如何将其优化为单个查询而不是三重查询并在 MongoBD 端添加分页?:
文档示例:
预期结果:
更新:尝试使用$or
,但结果完全无序:
我也尝试过聚合,但似乎没有帮助