Вы можете использовать $ expr (оператор версии 3.6 mongo) для использования функций агрегации в регулярном запросе.
Сравнить query operators
vs aggregation comparison operators
.
db.accommodations.find({$expr:{$gt:[{$size:"$name"}, 1]}})
Я помогал другу настроить решение, упомянутое Ricardo вчера. Мы взломали его немного путем загрузки файла YAML чем-то подобным этому (идущий из памяти здесь):
require 'ostruct'
require 'yaml'
require 'erb'
#config = OpenStruct.new(YAML.load_file("#{RAILS_ROOT}/config/config.yml"))
config = OpenStruct.new(YAML.load(ERB.new(File.read("#{RAILS_ROOT}/config/config.yml")).result))
env_config = config.send(RAILS_ENV)
config.common.update(env_config) unless env_config.nil?
::AppConfig = OpenStruct.new(config.common)
Это позволило ему встраивать код Ruby в конфигурации, как в Rhtml:
development:
path_to_something: <%= RAILS_ROOT %>/config/something.yml
Взгляд на Configatron: http://github.com/markbates/configatron/tree/master
Я должен все же использовать его, но он активно разрабатывает его теперь и выглядит довольно хорошим.
Самая основная вещь сделать состоит в том, чтобы установить переменную класса от Вашего environment.rb. Я сделал это для Google Analytics. По существу я хочу другой ключ, в зависимости от которой среды я нахожусь в так разработке, или подготовка не скашивают метрики.
Это - то, как я сделал это.
В lib/analytics/google_analytics.rb
:
module Analytics
class GoogleAnalytics
@@account_id = nil
cattr_accessor :account_id
end
end
И затем в environment.rb
или в environments/production.rb
или любой из других файлов среды:
Analytics::GoogleAnalytics.account_id = "xxxxxxxxx"
Затем где угодно Вы ned к ссылке, говорит раскладка по умолчанию с Google Analytics JavaScript, это Вы просто, звоните Analytics::GoogleAnalytics.account_id
.