Драйвер Ruby Mongo: как искать интервалы дат? - PullRequest
0 голосов
/ 11 мая 2011

Учитывая дату инициализации и сегодня, каков запрос для поиска всех «имен» между этой датой?

Спасибо

1 Ответ

7 голосов
/ 12 мая 2011

MongoMapper

Вы должны иметь возможность использовать операторы запросов MongoMapper.Предположим, у вас есть модель «Пользователь» с датой «create_on», вы можете использовать это, чтобы получить имена.(Я считаю, что MongoDB использует UTC Times для хранения всех объектов даты / времени):

initial_date = Time.utc(2011, 5, 1) # 2011-05-01 00:00:00 UTC
@users = User.where(:created_on => {:$gte => initial_date, :$lte => Time.now.utc})
@users.each do |user|
  puts user.name
end

Драйвер Ruby Mongo

initial_date = Time.utc(2011, 5, 1) # 2011-05-01 00:00:00 UTC
@conn = Mongo::Connection.new
@db = @conn['my_db']
@collection = @db['users']
@users = @collection.find(:created_on => {:$gte => initial_date, :$lte => Time.now.utc})
@users.each do |user|
  puts user['name']
end
...