2012-09-03 13 views
5

mongoidにコレクション内のすべてのドキュメントを検索して '読み込み'する方法はありますか?これまでのところ、私が使っていたmongo/mongoid内のすべてを検索して削除します

:簡単にこれら2つの命令の間のコレクションに多くのデータを追加することによって破壊することができ

Model.collection.find().to_json 
Model.delete_all 

答えて

5

たとえば、の名前をtmp_cf20c448f824763454ada2c4b2434178のように変更することができます。新しい書き込みは、古い名前の新しいコレクションに自動的に作成されます。早急にすべてのドキュメントを読み込んでその一時コレクションを削除することができます。

この種のものは、通常、根底にあるルビドライバ(mongoid 2.xの場合は10genのmongo、mongoid 3.xの場合はmoped)を使用してより簡単に実行されます。

+0

実用的な解決策のように聞こえる、ありがとう。 –

+0

へようこそstackoverflow :)問題を解決する回答を受け入れる必要があります(左側の小さな緑色のチェックマーク)。また、あなたは大きな回答をアップヴォートすることができます。これは回答者を奨励し、コミュニティへの投稿の有用性を示します。 –

+0

ああ、チェックが見えませんでした。私はupvoteしようとしましたが、私はまだ十分なポイントがありません:) –

9

これに対して、より簡単な解決法があります。

Model.collection.drop 

これは現在のコレクションを削除し、同じ名前の新しいもの(もちろん空です)を作成します。

+0

あなたは "すべてを読んで"の部分を忘れてしまった:) –

関連する問題