MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Ruby Mongo-Treiber:Wie sucht man nach Datumsintervallen?

MongoMapper

Sie sollten in der Lage sein, die Abfrageoperatoren von MongoMapper zu verwenden. Angenommen, Sie haben ein "User"-Modell mit einem "created_on"-Datum, Sie könnten dies verwenden, um die Namen zu erhalten. (Ich glaube, MongoDB verwendet UTC-Zeiten, um alle Datums-/Uhrzeitobjekte zu speichern):

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-Treiber

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