mongodb:原子地重命名两个集合?

Hei*_*ing 5 mongodb

我有两个现有的集合“A”和“B”。我需要将“B”重命名为“C”,并将“A”重命名为“B”,在此期间不允许对 B 进行任何写入。重命名本身会激活全局锁,但我需要防止在重命名之间发生写入。这可能吗?

这是我的代码:

db.B.renameCollection('C')
                           <-- prevent writes from occurring to B in between commands
db.A.renameCollection('B')
Run Code Online (Sandbox Code Playgroud)

编辑:我使用的是 mongodb 1.8.1 版,目前无法选择更改版本。

小智 3

正如您所猜测的:这是不可能的。没有事务支持,只有原子操作。