将地理数据从MongoMapper迁移到Mongoid

时间:2019-05-16 14:52:55

标签: mongodb mongoid

我有一些以这种方式在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”,:coordinates => [-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 :(得分:0)

我发现我可以保持与上一篇文章中相同的模型和相同的数据,但是可以避免在运行测试时出错。

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 }