它会立即返回,我不完全确定预期的行为是什么。它会在后台删除吗?
http://mongoid.org/en/moped/
在Moped中执行此操作的代码肯定不是异步的,它将在操作发送到MongoDB时(默认情况下,可能在等待数据库响应时)阻塞。
https://github.com/mongoid/moped/blob/master/lib/moped/query.rb#L290-L307https://github.com/mongoid/moped/blob/master/lib/moped/node.rb#L466-L468
然而,正如Chris Heald已经暗示的那样,如果您使用w=0的写入关注点(所谓的"即发即弃"模式),则该模式将告诉Moped不要等待来自服务器的响应。你不会收到remove_all成功完成的确认,但你可以通过这种方法有效地将工作后台到你的MongoDB服务器。
以下是关于MongoDB的写入问题如何处理未确认的写入的更多信息:http://docs.mongodb.org/manual/core/write-concern/#unacknowledged