MongoDB超时查询

Posted

技术标签:

【中文标题】MongoDB超时查询【英文标题】:MongoDB Timeout Query 【发布时间】:2020-10-05 09:55:57 【问题描述】:

我试图弄清楚是否有办法在 MongoDB 的 script file 中应用查询超时,以防止缓慢/空闲/挂起的请求。

我指的是https://docs.mongodb.com/manual/reference/method/cursor.maxTimeMS/#examples 文档。

现在我正在尝试为maxTimeMS 编写如下脚本:-

#!/bin/bash
db.collection.find( $query: , $maxTimeMS: 100 )

它给出了一个错误:-

mongodb-timeout.sh: line 4: syntax error near unexpected token `'
mongodb-timeout.sh: line 4: `db.collection.find( $query: , $maxTimeMS: 100 )'

有人有想法吗?提前致谢

【问题讨论】:

【参考方案1】:

我认为 maxTimeMS 是光标选项,而不是系统范围的变量。正如您在他们的jira 中看到的那样,您也许可以编写一些脚本来实现这一点。

【讨论】:

我已经编辑了问题并根据您的评论进行了尝试。你能指导我吗?【参考方案2】:

您可能需要的是mongodb Node.js driver documentation。有一个选项可以为特定查询(即光标)设置超时。

cursor.maxTimeMS 是一种不同于 Node.js 的 Mongo shell 方法(尽管它们都是基于 javascript 的)。

【讨论】:

以上是关于MongoDB超时查询的主要内容,如果未能解决你的问题,请参考以下文章

是啥导致 AWS Lambda 上的 Mongodb 超时错误?

了解 MongoDB 超时设置

了解 MongoDB 超时设置

使用 Node.js 和 mongodb 处理超时

MongoDB 2.6:实例/数据库级别的maxTimeMS

尝试在 React 前端渲染 MongoDB 条目 10 秒后超时