diff --git a/lib/mongo.rb b/lib/mongo.rb index 1e386a5..5214d0a 100644 --- a/lib/mongo.rb +++ b/lib/mongo.rb @@ -21,9 +21,10 @@ $:.unshift(File.join(File.dirname(__FILE__), '..', 'lib')) require 'mongo/version' module Mongo - ASCENDING = 1 - DESCENDING = -1 - GEO2D = '2d' + ASCENDING = 1 + DESCENDING = -1 + GEO2D = '2d' + GEOHAYSTACK = 'geoHaystack' DEFAULT_MAX_BSON_SIZE = 4 * 1024 * 1024 diff --git a/lib/mongo/collection.rb b/lib/mongo/collection.rb index 8f70eb4..b5b98a5 100644 --- a/lib/mongo/collection.rb +++ b/lib/mongo/collection.rb @@ -888,7 +888,7 @@ module Mongo field_spec[spec.to_s] = 1 elsif spec.is_a?(Array) && spec.all? {|field| field.is_a?(Array) } spec.each do |f| - if [Mongo::ASCENDING, Mongo::DESCENDING, Mongo::GEO2D].include?(f[1]) + if [Mongo::ASCENDING, Mongo::DESCENDING, Mongo::GEO2D, Mongo::GEOHAYSTACK].include?(f[1]) field_spec[f[0].to_s] = f[1] else raise MongoArgumentError, "Invalid index field #{f[1].inspect}; " +