MongoDb 有类似 MySql 的东西SELECT SLEEP(5);
吗?
我可以看到一些会暂停整个服务器的内部睡眠功能,但我只需要暂停当前查询。
免责声明:仅用于测试目的
MongoDb 有类似 MySql 的东西SELECT SLEEP(5);
吗?
我可以看到一些会暂停整个服务器的内部睡眠功能,但我只需要暂停当前查询。
免责声明:仅用于测试目的
您可以使用$where 运算符来调用 sleep()。这应该适用于任何语言或 ORM/ODM。例如,在 Mongoid 中,您可以这样做:
Model.where( :$where => "sleep(100) || true" ).count
调整集合中文档数量的睡眠值(它将延迟每个文档)。这将对数据库服务器造成相当可怕的事情,因此仅将其用于测试,并且永远不会(永远!)在生产服务器上。
您可以按照code_monkey_steve$where
所说的那样使用运算符,但请确保使用mongo version >= 2.4。在该版本之前,无法在同一台服务器上并行运行 javascript。该命令是 javascript,因此它显然会阻止您可能进行的其他 javascript 查询。sleep
从 mongo Shell 你可以运行:
db.collection_name.find( { $where: function() { return sleep(100) || true }}).pretty();
测试和工作。
在mongo
shell 中,您可以执行睡眠(ms),例如在运行查询之前睡眠 5 秒:
> sleep(5000); db.collection.find(..);
这不会暂停当前查询,但会在继续执行下一条语句之前在该连接上暂停执行特定的毫秒数(相当于select sleep(5)
MySQL 中的 a )。