Mongo :: Collection未定义方法'插入'

问题描述 投票:0回答:1

我正在尝试将数百万行从另一个数据库导入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

有人对发生的事情有任何建议吗?

我可以一一保存行,但是对于数百万行来说效率很低。想要使插件起作用。

mongoid
1个回答
6
投票

如果使用mongoid5,请使用

MyModel.collection.insert_many(data_to_import)

如果data_to_import是数组或

MyModel.collection.insert_one(data_to_import)

如果data_import是单个文档,则>]

如果需要评估数据,也可以考虑使用MyModel.create ...

© www.soinside.com 2019 - 2024. All rights reserved.