2012-09-03 20 views
5

Koleksiyonda tüm belgeleri bulup okumak için mongoid'in bir yolu var mı, bir de atomik sorguda mı? Şimdiye kadar kullanıyordumTüm bul ve kaldır mongo/mongoid

: kolayca bu iki talimatları arasında koleksiyonuna fazla veri ekleyerek kırılabilir

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

.

cevap

5

, tmp_cf20c448f824763454ada2c4b2434178 gibi bir şeye temel oluşturan koleksiyonu yeniden adlandırabilirsiniz. Ardından tüm yeni yazılar, eski adla yeni ve otomatik olarak oluşturulmuş bir koleksiyona gidecektir, acele etmeden ve endişelenmeden, tüm belgeleri okuyabilir ve ardından bu geçici koleksiyonları bırakabilirsiniz.

Bu tür şeyler genellikle, temel ruby ​​sürücüsü (10genin mongoid 2.x için mongo veya mongoid 3.x için moped) kullanılarak daha kolay yapılır.

+0

Geçerli bir çözüm gibi görünüyor, teşekkürler. –

+0

Yığın akışına hoş geldiniz :). Sorunu çözen cevapları kabul etmelisiniz (soldaki küçük yeşil onay işareti). Ayrıca büyük cevaplar alabilirsiniz, bu da cevaplayıcıları teşvik edecek ve gönderinin topluma yararlı olduğunu gösterecektir. –

+0

Oh, onay işaretini görmedim. Yaklaşmaya çalıştım ama henüz yeterli puanım yok :) –

9

Bunun için daha basit bir çözüm var. Sen yapabilirsin:

Model.collection.drop 

Mevcut koleksiyon bırakın ve aynı adla (elbette boş) bir yenisini yaratacaktır.

+0

"Tümünü oku" bölümünü unuttun :) –

İlgili konular