Artistsというコレクションがあります。名前をartist_lookupsに変更したいと思います。どうすればよいですか?
質問する
4554 次
4 に答える
6
mongoid5 /モンゴルビードライバー2:
# if you need to check whether foo exists
return unless Mongoid.default_client.collections.map(&:name).include?('foo')
# rename to bar
Mongoid.default_client.use(:admin).command(
renameCollection: "#{Mongoid.default_client.database.name}.foo",
to: "#{Mongoid.default_client.database.name}.bar"
)
于 2016-05-11T16:16:07.457 に答える
4
Mongoid Docsから:
class Band
include Mongoid::Document
store_in collection: "artists", database: "music", session: "secondary"
end
store_in collection: "artist_lookups"
モデルで使用します。Artist
これにより、モデルをartist_lookups
コレクションに保存できます。
コレクション内の既存のデータを保持してartists
名前を変更する場合は、アプリを一時的にシャットダウンしartist_lookups
、MongoDBサーバーでコレクションの名前を変更してから、アプリを再起動することをお勧めします。
于 2012-08-22T20:38:09.527 に答える
4
非常に単純で、mongoシェルでは、次のようにします。
db.artists.renameCollection( "artist_lookups");
存在する場合にartist_lookupsを削除する場合:
db.artists.renameCollection( "artist_lookups"、true);
あなたが得ることができるいくつかの例外。
- 10026 –ソース名前空間が存在しない場合に発生します。
- 10027 –ターゲット名前空間が存在し、dropTargetがfalseまたは指定されていない場合に発生します。
- 15967 –ターゲット名前空間が無効なコレクション名である場合に発生します。
于 2012-11-27T04:26:20.050 に答える
2
db.artists.renameCollection("artist_lookups")
確かに動作します。
于 2014-10-04T09:50:11.460 に答える