2010-09-23 13 views

Odpowiedz

8

Nie jestem pewien, jak to zrobić przez Mongoid, ale generalnie możesz zapytać o kolekcję system.namespaces dla {name : "dbname.analyticsCachedResult"}.

+1

ah, dzięki za podpowiedź. Ta linia też działa: 'Mongoid.master.collections.map {| c | c.name} .include? "analyticsCachedResult'' chociaż jeśli Mongoid ma takie połączenie, może być lepiej. –

1

Użycie sterownika Mongo rubinowy, ja przedłużony klasę DB:

class Mongo::DB 
    def collection_exists?(collection_name) 
    x = "#{self.name}.#{collection_name}" # e.g., "redbike_db.clients" 
    nil != self['system.namespaces'].find_one({'name' => x}) 
    end 
end