0

它立即返回,我不完全确定预期的行为是什么。是否在后台删除?

http://mongoid.org/en/moped/

4

1 回答 1

0

在 Moped 中执行此操作的代码绝对不是异步的,它会在操作发送到 MongoDB 时阻塞(默认情况下,可能会在等待数据库响应时阻塞)。

https://github.com/mongoid/moped/blob/master/lib/moped/query.rb#L290-L307 https://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

于 2013-08-19T20:18:53.930 回答