1

どうやってこれを置くのかわかりません。さて、最近、私はmongoidを使用してRailsプロジェクトに取り組み、Mongodbに複数のレコードを挿入するタスクがありました。

PartPriceRecordの複数のレコードをデータベースに挿入するとします。これをグーグルした後、私はcollection.insertコマンドに出くわしました:

PartPriceRecord.collection.insert(multiple_part_price_records)

しかし、多数のレコードを挿入すると、MongoDbは常にエラーメッセージを表示するように見えました。

最大挿入サイズの16,000,000バイトを超えました

グーグルで調べてみると、単一のドキュメントのMongoDbの上限がわかりましたが、驚くべきことに、上記のクエリを次のように変更しました。

multiple_part_price_records.each do|mppr|
  PartPriceRecord.create(mppr)
end

上記のエラーはもう表示されないようです。

誰もが内部で詳細に説明できますか?2つの違いは正確には何ですか?

ありがとう

4

2 に答える 2

4

1 回の一括挿入の最大サイズは 16M バイトです。それが、最初の例でやろうとしていることです。

2 番目の例では、各ドキュメントを個別に挿入しています。したがって、各挿入は、挿入の最大制限を下回っています。

于 2012-05-02T14:58:03.577 に答える