问题标签 [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 回答
884 浏览

python - Tornado 使用 Motor 对 MongoDB 进行身份验证

我制作了一个 tornado 应用程序,它应该对在另一台机器上运行的 mongodb 实例运行一些查询。为此,我设置了带有身份验证和用户的 mongodb。我检查了一切正常,并且我可以使用 Robo 3T 应用程序和一个使用 pymongo 的小型同步脚本对 tornado 进行身份验证。

这就是我初始化我的龙卷风应用程序的方式:

一切似乎都在运行,直到我的一个实际对数据库执行查询的处理程序被命中。处理程序中的代码如下所示:

此代码在尝试使用身份验证之前运行良好,但现在它引发异常并停止工作:

我能够找到一些关于如何登录和验证 MongoDB 的简单示例,据我所知,这正是我的做法(https://github.com/mongodb/motor/blob/master /doc/examples/authentication.rst)。

任何人都可以了解正在发生的事情以及如何从使用 Motor 的实际工作龙卷风应用程序正确地向 MongoDB 进行身份验证?

PS 我正在使用 Python 3.6、tornado 4.5.2 和电机 1.1。

PPS 与此同时,我发现使用它作为 uri 可以使其正常工作:

在上面,我用“admin”数据库替换了 {mongodb}。在客户端连接并在管理数据库上进行身份验证后,我可以继续 get_database(mongodb) 并且它将正常工作。如果有人想更清楚地说明发生了什么,我会接受答案。

0 投票
1 回答
1644 浏览

python - Tornado,带 mongomock 的电机进行测试

我正在为基于龙卷风的 Web 应用程序编写一个测试模块。该应用程序使用电机作为 mongodb 连接器,我希望我的测试在临时数据库上运行。我在连接器客户端的delegate_class上使用了一种模拟技术,如下所示:

当我启动我的测试时,我收到了这个错误:

目前我无法让它工作,我想知道我想要做的事情是否可以使用当前版本的电机(1.2.1),mongomock(3.8.0)和龙卷风(4.5)。 3),或者我错过了什么?

感谢您的所有建议。

0 投票
1 回答
161 浏览

mongodb - 什么是 mongoengine.GeoPointField 在 motorengine 中执行近距离查询的等价物?

我有以下模型: class DbObjectWithCoordinates(Document): coordinates = GeoPointField() # this used to work with mongengine

我使用mongoengine.GeoPointField来执行查询,例如查找给定坐标附近的所有对象:

但是,该GeoPointField字段在 motorengine 中不可用。是否可以在 motorengine 中定义对象并使用这样的查询?如果没有,这种用例是否有解决方法?

0 投票
0 回答
1165 浏览

python - 无法使用标准方法将 MotorCursor 对象转换为异步函数中的列表

我一直在尝试让异步函数从 Python 中的电机数据库中获取数据,并获取与搜索对应的数据列表。这是获取数据和打印数据的函数:

我有一个 PyQt 插槽,我想用它在按下按钮时调用 find_by_run_name 函数。这是该插槽的代码:

当我按下与此插槽对应的按钮时,我在终端中看到以下内容:

这向我表明 do_find_by_run_name 函数运行正常,但运行 print_arr 函数存在问题。

为了解决此问题,do_find_run_name 已更改为:

我将我的 PyQt 插槽更改为:

进行此更改后,我看不到任何打印内容。似乎 do_find_run_name couroutine 从未执行过。

0 投票
3 回答
2143 浏览

python - 对象 MotorLatentCommandCursor 不能在“等待”表达式中使用

在 Tornado 中使用电机连接 mongodb

我创建了一个电机连接

当我开始时,我收到了这条消息:“对象 MotorLatentCommandCursor 不能用于 'await' 表达式”

idk 为什么~好像没什么问题

0 投票
1 回答
392 浏览

python-3.x - Tornado + motor,根据电机文档示例,甚至出现错误

我在tornado项目中使用motor库查询mongodb。按照官方文档的例子,报错了。谁能帮我写代码,非常感谢。

当我运行代码时,发生了异常:

python 版本:3.7
龙卷风版本:6.0.2
电机:2.0.0

0 投票
1 回答
858 浏览

tornado - 如何在 Tornado 中传递环境变量(数据库 URL)?

我有弹性 URL 作为环境变量传递给 post 方法,我已经从 tornado_sqlalchemy 声明了 make_session_factory,并传递给 requesthandler,我应该如何在 self 中接收它,下面是我的代码

现在我已经将我的 mod 函数中的 URL 编码为 localhost, 9200,

为了将它作为环境变量传递,我创建了工厂并将工厂作为 session_factory 在我的应用程序中传递,

我必须在我的 requesthandler post 方法中接收它,以便我可以传递给我的 predict 方法,该方法在 tern 调用我的 mod 函数,我可以知道如何接收它。我尝试使用初始化但无法正常工作。

还找到了使用带有龙卷风的电机的其他选项

在这里,我也必须在我的 post 方法中收到

0 投票
2 回答
15376 浏览

mongodb - 带有 FastAPI 的 MongoDb

我正在玩一些FastAPI并想将它连接到 MongoDB 数据库。然而,我很困惑在异步电机和 mongoengine 之间选择哪个 ODM。此外,在这里的 NoSQL 示例中,他们创建了一个新的存储桶,并且每次使用它时都调用了连接到 db 的代码。但是,motor 和 mongoengine 似乎都更喜欢全局连接。那么连接mongodb的好方法是什么?

0 投票
1 回答
85 浏览

python - PyMongo 对列表中的项目进行全文搜索

我希望使用 PyMongo 对嵌入在列表中的某些项目进行文本搜索。我的数据库结构如下: {_id:"148319665188372481" }, "tags": ['#123456', '#789012'}

我想专门在我的数据库中搜索短语“123456”,但因为这些项目嵌入在一个列表中......我不太确定该怎么做。

这是我当前的代码:

0 投票
1 回答
101 浏览

python - 如何运行 Tornado 的 IOLoop 的多个实例?

我有用 Tornado 编写的基本 Web 服务器。现在,我想添加一些需要数据库连接的功能。我选择了带有 Motor 库的 MongoDB。在遵循官方教程之后,我的相关部分main.py看起来像:

按照教程,它指出我现在可以do_find_one使用 IOLoop.current().run_sync(do_find_one). 但是,如果我这样做:

它不会改变任何东西,也看不到足够的结果,但是如果切换行,例如:

我收到以下错误:

我应该do_find_one()在 main 中定义函数,然后awaitget方法中定义它LoginHandler吗?

我怎样才能让服务器工作,同时对数据库进行操作?

这些IOLoops可以在同一个线程上运行,还是我需要创建多个线程(一个IOLoop或一个)?