lib/ganymed/mongodb.rb in ganymed-0.1.2 vs lib/ganymed/mongodb.rb in ganymed-0.2.0

- old
+ new

@@ -5,10 +5,11 @@ class MongoDB attr_reader :config def initialize(config) @config = config + @collections = {} log.info("using MongoDB at #{config.host}:#{config.port}/#{config.database}") end def connection @connection ||= ::Mongo::Connection.new(config.host, @@ -20,10 +21,10 @@ def db @db ||= connection.db(config.database) end def collection(ns) - db[ns].tap do |col| + @collections[ns] ||= db[ns].tap do |col| col.ensure_index([['c', ::Mongo::ASCENDING]]) col.ensure_index([['o', ::Mongo::ASCENDING]]) col.ensure_index([['t', ::Mongo::ASCENDING]]) col.ensure_index([['c', ::Mongo::ASCENDING], ['o', ::Mongo::ASCENDING]]) col.ensure_index([['o', ::Mongo::ASCENDING], ['t', ::Mongo::ASCENDING]])