最小化mongoengin的执行时间

2024-10-02 22:38:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个名为login的文档。本文件包含以下内容:

  • 用户名

  • 密码

  • 性别

我有另一个名为history的文档,其中包含以下内容:

  • 用户名

  • 时间

I历史文档username引用了login文档。 使用time字段,我将通过以下查询从历史文档中获取详细信息。在

usersByHistory=models.history.objects(time=searchObj.time) 

使用上述结果,我将使用以下代码获取用户信息:

^{pr2}$

通过执行上面的代码,执行时间很长,我想避免代码中的for循环,用mongoengine查询来代替它,从而使执行时间最小化。有人请帮忙


Tags: 文件代码文档密码timemodels时间username
1条回答
网友
1楼 · 发布于 2024-10-02 22:38:18

您可以执行in查询并提供用户数组:http://docs.mongoengine.org/en/latest/guide/querying.html#query-operators

这里有一个使用scalar的示例,因为我们只需要一个用户名列表。在

users_by_history = History.objects(time=searchObj.time).scalar('user_name')
LoginInfo.objects(user_name__in=users_by_history)

*我已更新类名和变量名以符合pep8

相关问题 更多 >