Перенос геоданных из MongoMapper в Mongoid - PullRequest
0 голосов
/ 16 мая 2019

У меня есть модели, которые хранят данные в MongoMapper таким образом

class WellIndex::Core
 include MongoMapper::Document

 key :well_name 
 key :surface_loc, Hash
 ensure_index [[:surface_loc, '2dsphere']]
end

, и данные хранятся таким образом

well.surface_loc # {: type => "Point",: координаты => [-90, 10]}

Я видел в Mongoid , что вы сохраняете геоданные в массиве.и этот класс будет преобразован в

class WellIndex::Core
 include Mongoid::Document

 field :well_name, type: String
 field :surface_loc, Array
 index({:surface_loc => '2dsphere'})
end

Таким образом, мне придется перенести все мои данные в новое поле, так как данные являются Хэш , есть ли способ, которым я все еще могу использоватьте же хеш-данные в Mongoid ?

1 Ответ

0 голосов
/ 16 мая 2019

Я обнаружил, что могу хранить те же модели с теми же данными, что и в предыдущем посте, но чтобы избежать ошибок при выполнении тестов.

Mongo::Error::OperationFailure:
       error processing query: ns=worker_test.well_indexesTree: $and
           meas_depth $gt 4000
           GEONEAR  field=surface_loc maxdist=25 isNearSphere=0

Следует создавать индексы, если вы используете rspecможет

before(:each) { WellIndex::Core.create_indexes }
...