gpt4 book ai didi

mongodb - 从 Java API 取消 MongoDB 查询

转载 作者:可可西里 更新时间:2023-11-01 09:35:53 26 4
gpt4 key购买 nike

开始 MongoDB 查找或聚合操作后,我希望能够取消它。有时,用户想要取消长时间运行的操作并继续执行其他操作。

我知道可以使用 db.killOp()停止正在运行的操作,但似乎没有确定要终止哪个操作的好方法。接受的形式是使用 db.currentOp()查找来自同一客户端且具有相同操作的操作。但由于这是一个 Web 应用程序,所有操作看起来都来自同一个“客户端”,并且两个不同的用户可能会触发同一个操作。如果一位用户决定取消,我不想无意中杀死错误的用户。

currentOp() 返回的每个操作都有一个唯一的 opid,但我没有看到将 opid 映射到一个操作从 Java API 开始。在 Java API 的同步部分,当然在查找或聚合完成之前没有信息。但即使在异步 API 中,也只有结果的回调。

我检查了 currentOp() 返回的其他字段,似乎没有办法在每个查询上放置我自己的标记或计数器,以便我可以在事后关联它们.如何使用 Java API 允许用户在操作开始后取消/终止 MongoDB 查找或聚合操作?

最佳答案

目前没有通过 Java 驱动程序终止作业的 API 选项。有一个 open issue然而,反对这一点。如评论中所述,您可能会探索 maxTime 的使用作为终止需要很长时间才能完成的聚合的一种方法。

关于mongodb - 从 Java API 取消 MongoDB 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31079479/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com