Итак, я создаю приложение с использованием PHP и MongoDB, которое будет иметь значительный трафик как при чтении, так и при записи. Через пару месяцев должно быть около 2500 операций чтения в секунду и 200 операций записи в секунду (не знаю, как это на самом деле). ставки с точки зрения трафика по сравнению с другими).
Мне немного любопытно, что делать при обновлении коллекции; примеры документации показывают, как оболочка обновляет определенное поле коллекции, но не объясняют, что происходит, когда любое количество полей из коллекции может быть изменено.
Например, скажем, у меня есть коллекция пользователей (очень упрощенный пример):
user = { _id : MongoId(...), name : 'User One', email : '[email protected]', company : 'Company', ... }
Мы показываем все редактируемые поля в форме, но пользователь меняет только свой адрес электронной почты.
Строго говоря, с точки зрения производительности, было бы лучше сохранить исходные значения в скрытых входных данных, чтобы сравнить их в PHP, а затем построить запрос, специфичный для обновления?
Или я все равно должен заменить все редактируемые поля?
Это будет коллекция, содержащая объекты и массивы друг в друге, а не простая, показанная здесь.
Я знаю, что оптимизация приходит позже, но я также хочу набраться хороших привычек с MongoDB.
Спасибо.