1 つのクエリで Mongoid に複数のドキュメントを挿入する方法について、この Stackoverflow の回答を読んでいます。私が読んだ答えから:
batch = [{:name => "mongodb"}, {:name => "mongoid"}]
Article.collection.insert(batch)
これがどのように機能するかを理解するには、例が必要です。Article クラスがあるとします。
class Article
include Mongoid::Document
include Mongoid::Timestamps
field :subject, type: String
field :body, type: String
field :remote_id, type: String
validates_uniqueness_of :remote_id
belongs_to :news_paper, :inverse_of => :articles
end
そして、たとえば、記事の配列を作成します。
[ {subject: "Mongoid rocks", body: "It really does", remote_id: "1234", news_paper_id: "abc"},
{subject: "Ruby rocks", body: "It really does", remote_id: "1234", news_paper_id: "abc"},
{subject: "Rails rocks", body: "It really does", remote_id: "5678", news_paper_id: "abc"} ]
それらを作成するにはどうすればよいですか?同時に、同じ2つのremote_idがあることを検証がキャッチするようにしますか?