2012-10-10 36 views

回答

0

重命名集合是一個嚴重的變化,不會在分片環境中工作。

但是,您可以通過應用程序(可能)使用admin db和db命令來完成此操作。所以我可能會看看:the Moped Driver Docs

+0

這實際上並沒有幫助。鏈接的文檔沒有提供執行「raw」mongo命令的方式,比如renameCollection – Obie

+0

我沒有測試它,但是當你創建一個會話時,它會說:「..你可以以類似的方式與它進行交互與蒙戈控制檯。「 – Marc

0

集合可以通過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}")