问题标签 [tornado-motor]

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 回答
62 浏览

python - 如何在龙卷风中使用电机?

tornado==6.0.4 motor==2.1 这是我根据motor官网写的代码。开启长链接时,同步查询电机编程;当长链接关闭时,电机可以异步,但不能返回任何值。响应状态码是200。请问,龙卷风和马达是怎么用的?

0 投票
0 回答
40 浏览

python - 回调 AgnosticLatentCommandCursor 中的异常

我正在为我的 Web 服务使用 python aiohttp、asyncio 和电机(mongo 异步客户端)。从我的日志中,我经常注意到以下 3 行以随机间隔重复的错误。我无法将其与任何特定的 API 调用相关联,因为没有来自 API 的堆栈跟踪跟踪。

在此处输入图像描述

我可以知道这个错误的原因和可能的解决方案吗?

0 投票
1 回答
115 浏览

mongodb - 使用 skip() 和 limit() 实现分页时检查是否有更多文档

我正在使用 Motor,它在引擎盖下使用 pymongo 来实现某些文档的分页。这是我所拥有的:

检查是否有更多文件的推荐方法是什么?

rows.next_object()总是返回None,即使有更多的文档要获取。

0 投票
1 回答
128 浏览

python - 如何测试使用 Mongodb 和 Motor Client 的 python tornado 应用程序

我想用 pytest 测试我的 tornado python 应用程序。

为此,我想为 mongo 提供一个模拟数据库,并使用电机“假”客户端来模拟对 mongodb 的调用。

我找到了很多 pymongo 的解决方案,但不是motor

任何想法?

0 投票
2 回答
169 浏览

python - 写入 dockerized MongoDB 时出错

我已经使用命令在 docker 容器中运行了 mongo db:

它似乎运作良好。我尝试连接到这个 Mongo 并使用 python 库编写一些文章(我尝试使用同步和异步库)。下面是电机库的代码示例:

调用 insert_one() 时出现错误:

0 投票
2 回答
1099 浏览

mongodb - 如何将 FastAPI 路由器与 FastAPI-Users 和 MongoDB 一起使用?

我也可以将 MongoDB 与 FastAPI 一起使用

  1. 使用全局client: motor.motor_asyncio.AsyncIOMotorClient对象,否则
  2. startup通过在活动期间根据此 SO 答案创建一个,该答案引用此“真实世界示例”

但是,我也想使用fastapi-users,因为它可以很好地与开箱即用的 MongoDB 配合使用。缺点是它似乎只适用于处理我的数据库客户端连接(即全局)的第一种方法。原因是为了配置 fastapi-users,我必须有一个活动的 MongoDB 客户端连接,这样我才能制作db如下所示的对象,然后我需要它db来制作MongoDBUserDatabasefastapi-users 所需的对象:

在代码中的那一点之后,我可以导入 fastapi_users 路由器。但是,如果我想将我的项目分解为我自己的 FastAPI 路由器,我会感到很沮丧,因为:

  1. 如果我将client创建移动到另一个模块以导入到我app和我的路由器中,那么我在不同的事件循环中有不同的客户端并得到类似的错误RuntimeError: Task <Task pending name='Task-4' coro=<RequestResponseCycle.run_asgi() running at /usr/local/lib/python3.8/site-packages/uvicorn/protocols/http/h11_impl.py:389> cb=[set.discard()]> got Future <Future pending cb=[_chain_future.<locals>._call_check_cancel() at /usr/local/lib/python3.8/asyncio/futures.py:360]> attached to a different loop(在这个 SO 问题中涉及)
  2. 如果我使用“真实世界示例”的解决方案,那么我会陷入在fastapi_users代码示例中构建对象的位置:我不能这样做,main.py因为还没有db对象。

我考虑将MongoDBUserDatabase对象作为startup事件代码的一部分(即在async def connect_to_mongo()真实世界示例中),但我也无法让它工作,因为我看不到如何让它工作。

我怎么能

  1. 以一种可以在我的主要app和几个之间共享的方式创建一个全局 MongoDB 客户端和 FastAPI-User 对象,routers而不会出现“附加到不同的循环”错误,或者
  2. 创建精美的包装类和函数以使用触发器设置 FastAPI 用户startup
0 投票
0 回答
885 浏览

python - 使用电机异步框架运行 fastapi

我正在尝试通过创建一个简单的基于 mongo 的 rest api 来玩 fastapi。以下是我到目前为止所做的:

文件:这包含使用框架mongo.py从 mongo db 获取数据的所有代码:motor

我的routers.py文件如下所示:

所以到目前为止我有3条路线,我想将我的后端对象依赖注入到路线中,我也希望它是一个单例。

为了显示有效和无效之间的区别,我仅将依赖项注入到其中一个路由(/book)中,而对于其余路由(/books),我刚刚调用了函数来mongo_backend直接创建后端()。

我不太明白我做错了什么,因为当我尝试查询注入依赖项的路由时,后端对象会引发此错误:

两条路线的其余部分工作正常。有人可以帮助我完成这项工作需要做些什么。

如果它有帮助,这是我的app.py

0 投票
0 回答
227 浏览

python-3.x - 如何迭代 MotorCursor pymongo.cursor.Cursor 对象?

我有一个要转换为要使用的列表的集合。我只是无法完成它。

我只需要迭代它来比较其中的值。

0 投票
0 回答
150 浏览

pymongo - 如何在电机上使用 mongomock 测试客户端

我有一个类的以下代码库,它封装了与 mongodb 的交互以用于休息应用程序:

我想像mongomock测试普通pymongo代码一样使用它来测试它。但是我只是无法理解如何编写将创建类实例的夹具,因为我需要一些 URI,而且由于我们没有事件循环,我认为motor会引发错误。

有人可以给我一些指示吗?可能只是对其中一种方法的简单测试,例如get_all_authors现在可以做的。我检查了这个包pytest-async-mongodb,但这似乎是一个开发版本,我认为它不是标准化的。

请求您提供一些关于如何使用电机等异步代码测试它的提示。提前致谢。

0 投票
1 回答
292 浏览

mongodb - 使用 MongoDB discord.py 的提醒命令

我是数据库和日期时间之类的新手。

我实际上想创建一个使用 MongoDB 作为数据库的提醒命令。我正在使用 Motor,因为我想与它一起使用 asyncio。请告诉我我是否在正确的道路上,如果我不是,那我该怎么办?

我已经使用电机设置了与 MongoDB 的基本连接。

这是我的代码。

什么是提醒命令和我想做什么?

基本上,该命令将花费被提醒的时间量和被提醒的主题作为参数。在命令中指定的一定时间后,它会 DM 用户说“你让我提醒你关于 {topic}”。

我希望这是所有需要的信息。