问题标签 [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.
python - 如何在龙卷风中使用电机?
tornado==6.0.4 motor==2.1 这是我根据motor官网写的代码。开启长链接时,同步查询电机编程;当长链接关闭时,电机可以异步,但不能返回任何值。响应状态码是200。请问,龙卷风和马达是怎么用的?
mongodb - 使用 skip() 和 limit() 实现分页时检查是否有更多文档
我正在使用 Motor,它在引擎盖下使用 pymongo 来实现某些文档的分页。这是我所拥有的:
检查是否有更多文件的推荐方法是什么?
rows.next_object()
总是返回None
,即使有更多的文档要获取。
python - 如何测试使用 Mongodb 和 Motor Client 的 python tornado 应用程序
我想用 pytest 测试我的 tornado python 应用程序。
为此,我想为 mongo 提供一个模拟数据库,并使用电机“假”客户端来模拟对 mongodb 的调用。
我找到了很多 pymongo 的解决方案,但不是motor。
任何想法?
python - 写入 dockerized MongoDB 时出错
我已经使用命令在 docker 容器中运行了 mongo db:
它似乎运作良好。我尝试连接到这个 Mongo 并使用 python 库编写一些文章(我尝试使用同步和异步库)。下面是电机库的代码示例:
调用 insert_one() 时出现错误:
mongodb - 如何将 FastAPI 路由器与 FastAPI-Users 和 MongoDB 一起使用?
我也可以将 MongoDB 与 FastAPI 一起使用
但是,我也想使用fastapi-users,因为它可以很好地与开箱即用的 MongoDB 配合使用。缺点是它似乎只适用于处理我的数据库客户端连接(即全局)的第一种方法。原因是为了配置 fastapi-users,我必须有一个活动的 MongoDB 客户端连接,这样我才能制作db
如下所示的对象,然后我需要它db
来制作MongoDBUserDatabase
fastapi-users 所需的对象:
在代码中的那一点之后,我可以导入 fastapi_users 路由器。但是,如果我想将我的项目分解为我自己的 FastAPI 路由器,我会感到很沮丧,因为:
- 如果我将
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 问题中涉及) - 如果我使用“真实世界示例”的解决方案,那么我会陷入在
fastapi_users
代码示例中构建对象的位置:我不能这样做,main.py
因为还没有db
对象。
我考虑将MongoDBUserDatabase
对象作为startup
事件代码的一部分(即在async def connect_to_mongo()
真实世界示例中),但我也无法让它工作,因为我看不到如何让它工作。
我怎么能
- 以一种可以在我的主要
app
和几个之间共享的方式创建一个全局 MongoDB 客户端和 FastAPI-User 对象,routers
而不会出现“附加到不同的循环”错误,或者 - 创建精美的包装类和函数以使用触发器设置 FastAPI 用户
startup
?
python - 使用电机异步框架运行 fastapi
我正在尝试通过创建一个简单的基于 mongo 的 rest api 来玩 fastapi。以下是我到目前为止所做的:
文件:这包含使用框架mongo.py
从 mongo db 获取数据的所有代码:motor
我的routers.py
文件如下所示:
所以到目前为止我有3条路线,我想将我的后端对象依赖注入到路线中,我也希望它是一个单例。
为了显示有效和无效之间的区别,我仅将依赖项注入到其中一个路由(/book
)中,而对于其余路由(/books
),我刚刚调用了函数来mongo_backend
直接创建后端()。
我不太明白我做错了什么,因为当我尝试查询注入依赖项的路由时,后端对象会引发此错误:
两条路线的其余部分工作正常。有人可以帮助我完成这项工作需要做些什么。
如果它有帮助,这是我的app.py
:
python-3.x - 如何迭代 MotorCursor pymongo.cursor.Cursor 对象?
我有一个要转换为要使用的列表的集合。我只是无法完成它。
我只需要迭代它来比较其中的值。
pymongo - 如何在电机上使用 mongomock 测试客户端
我有一个类的以下代码库,它封装了与 mongodb 的交互以用于休息应用程序:
我想像mongomock
测试普通pymongo
代码一样使用它来测试它。但是我只是无法理解如何编写将创建类实例的夹具,因为我需要一些 URI,而且由于我们没有事件循环,我认为motor
会引发错误。
有人可以给我一些指示吗?可能只是对其中一种方法的简单测试,例如get_all_authors
现在可以做的。我检查了这个包pytest-async-mongodb
,但这似乎是一个开发版本,我认为它不是标准化的。
请求您提供一些关于如何使用电机等异步代码测试它的提示。提前致谢。
mongodb - 使用 MongoDB discord.py 的提醒命令
我是数据库和日期时间之类的新手。
我实际上想创建一个使用 MongoDB 作为数据库的提醒命令。我正在使用 Motor,因为我想与它一起使用 asyncio。请告诉我我是否在正确的道路上,如果我不是,那我该怎么办?
我已经使用电机设置了与 MongoDB 的基本连接。
这是我的代码。
什么是提醒命令和我想做什么?
基本上,该命令将花费被提醒的时间量和被提醒的主题作为参数。在命令中指定的一定时间后,它会 DM 用户说“你让我提醒你关于 {topic}”。
我希望这是所有需要的信息。