如何使用Mongoid + Moped驅動程序重命名集合?輕便摩托車:重命名mongodb集合
是否有腳踏車執行http://docs.mongodb.org/manual/reference/command/renameCollection/?
如何使用Mongoid + Moped驅動程序重命名集合?輕便摩托車:重命名mongodb集合
是否有腳踏車執行http://docs.mongodb.org/manual/reference/command/renameCollection/?
重命名集合是一個嚴重的變化,不會在分片環境中工作。
但是,您可以通過應用程序(可能)使用admin db和db命令來完成此操作。所以我可能會看看:the Moped Driver Docs
集合可以通過Moped::Collection#rename方法重命名。
下面是一個例子,重命名爲「foo」集合「吧」:
Mongoid::default_session[:foo].rename("bar")
引擎蓋下,命令構造像這樣:
session.
with(database: "admin", read: :primary).
command(renameCollection: "#{database.name}.#{name}", to: "#{database.name}.#{to_name}")
我會被移動而不是集合複製數據,當然更好的主意不在於如果集合太大(就像改變大範圍的分片鍵一樣)。 – Sammaye