2010-09-23 5 views

Antwort

8

Nicht sicher, wie es durch Mongoid zu tun, aber im Allgemeinen können Sie die system.namespaces Sammlung für {name : "dbname.analyticsCachedResult"} abfragen.

+1

ah, danke für den Hinweis. Diese Zeile funktioniert auch: 'Mongoid.master.collections.map {| c | c.name} .include? 'analyticsCachedResult'' obwohl Mongoid einen solchen Aufruf hat, kann es besser sein. –

1

den Mongo Ruby-Treiber verwenden, verlängert ich die DB-Klasse:

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