Mongo::Collection 未定义方法“插入”
Mongo::Collection undefined method `insert'
我正在尝试将数百万行从另一个数据库导入到 MongoDB。我的导入例程使用
MyModel.collection.insert(data_to_import)
然后我得到
NoMethodError: undefined method `insert' for #<Mongo::Collection:0x000000082bb990>
/home/mika/projects/ca2/lib/tasks/data.rake:36:in `block (2 levels) in <top (required)>'
/home/mika/.rvm/gems/ruby-2.2.2/bin/ruby_executable_hooks:15:in `eval'
/home/mika/.rvm/gems/ruby-2.2.2/bin/ruby_executable_hooks:15:in `<main>'
模型定义为
class MyModel
include Mongoid::Document
include Mongoid::Attributes::Dynamic
end
有人对正在发生的事情有什么建议吗?
我可以逐行保存,但这对于数百万行来说效率太低了。想让插入工作。
如果您使用的是 mongoid5,请使用
MyModel.collection.insert_many(data_to_import)
如果data_to_import是一个数组或者
MyModel.collection.insert_one(data_to_import)
如果 data_import 是单个文档
如果您需要验证数据,也可以考虑使用 MyModel.create...
我正在尝试将数百万行从另一个数据库导入到 MongoDB。我的导入例程使用
MyModel.collection.insert(data_to_import)
然后我得到
NoMethodError: undefined method `insert' for #<Mongo::Collection:0x000000082bb990>
/home/mika/projects/ca2/lib/tasks/data.rake:36:in `block (2 levels) in <top (required)>'
/home/mika/.rvm/gems/ruby-2.2.2/bin/ruby_executable_hooks:15:in `eval'
/home/mika/.rvm/gems/ruby-2.2.2/bin/ruby_executable_hooks:15:in `<main>'
模型定义为
class MyModel
include Mongoid::Document
include Mongoid::Attributes::Dynamic
end
有人对正在发生的事情有什么建议吗?
我可以逐行保存,但这对于数百万行来说效率太低了。想让插入工作。
如果您使用的是 mongoid5,请使用
MyModel.collection.insert_many(data_to_import)
如果data_to_import是一个数组或者
MyModel.collection.insert_one(data_to_import)
如果 data_import 是单个文档
如果您需要验证数据,也可以考虑使用 MyModel.create...