MongoDB и PHP — вставка и обновление большого массива PHP

#php #mongodb #gridfs

#php #mongodb #gridfs

Вопрос:

У меня есть цикл, и каждый раз, когда цикл повторяется, он добавляет запись в массив.

В моей текущей модели я жду полного завершения цикла, а затем вставляю этот массив в MongoDB, и до сих пор у меня не было проблем с этим.

Теперь размер моего массива начинает превышать 10 МБ после цикла, и я прочитал, что у Mongo есть ограничение в 4 МБ. И я не хочу сохранять весь массив в памяти, пока я жду завершения цикла.

В идеале я бы хотел выполнить обновление в цикле для того же идентификатора Mongo коллекции, чтобы мне не нужно было хранить массив в памяти. Однако, похоже, Mongo не будет поддерживать, если размер коллекции превышает 4 МБ, поэтому я не знаю, как это сделать.

Я читал о GridFS, но я не вижу способа вставить массивы с его помощью. Любые идеи будут высоко оценены.

Комментарии:

1. Есть ли какая-то причина, по которой вы должны иметь этот массив как единый документ? Не могли бы вы вместо этого создать для него собственную коллекцию?

2. ПРИМЕЧАНИЕ: ограничение на объем документов MongoDB увеличилось до 16 МБ с момента выпуска MongoDB 1.8.