mongodb - 中止 mongo shell 命令(作为无限循环)而不结束 shell 本身
问题描述
我在 MongoDB shell(版本 4.2,作为参考)中运行以下命令:
while(true) { db.c.update({_id:1}, {$inc: {n: 1}}) }
我想打破 while 循环,但不结束 MongoDB shell。如果我使用Ctrl+C
循环结束,还有mongo
过程(就像我已经完成exit
)。
查看我发现为“中止”的mongo shell 文档Ctrl+G
,但它不起作用(它似乎什么也没做)。
有可能做我正在尝试的事情吗?目的是Ctrl+G
什么?
谢谢!
解决方案
不可能。您将中止 MongoDB 操作与执行 JS 混淆了。
Ctrl + G
中止单个CRUD 操作,而不是while(true){...}
让我们看看这个例子:
db.collection.find({$where:"this.foo==1"});print("1");db.collection.find({$where:"this.foo==1"});print("2");
> executing...
> Ctrl + G
> 1
> executing...
> Ctrl + G
> 2
推荐阅读
- android - 在 Flutter 中构建带有附加按钮选项行的下拉菜单?
- apache-spark - Apache Spark 可以用作数据库替代品吗?(例如替换Mysql)
- javascript - 触发 onClick 处理程序,当它与 React 中具有 onMouseMove、onMouseEnter 和 onMouseLeave 处理程序的元素重叠时
- javascript - 渲染器进程中的 showMessageBox 图标?
- reactjs - 如何测试是否在 Enzyme 和 Jest 中设置了状态
- firebase - 如何根据数据库模拟器更新触发 Firebase 函数模拟器
- wordpress - Wordpress docker 将主题复制到暴露的文件夹中
- java - java.io.StreamCorruptedException:无效的流标头:来自 ObjectInputStream 的 410D0AAC
- aerospike - 使用 Aerospike 处理由键组合定义唯一性的数据
- sql - 返回具有相同 id 的行和单独的列都包含相同的值