и кроме даты и имени оператора который редактировал, нужно сохранять наименование полей которые были изменены
Понятно что можно получать документ и перед сравнением его сравнить по все полям, получим то что изменилось и сохранить, а как еще можно? Может быть сама монга может помочь с этим?
Тут вопрос еще больше в том, как вычислять изменения? У меня ясный вариант в голове, сравнивать данные которые пришли с фронта и данные в базе, собственно так получим поля которые подверглись изменению Может можно как то изящнее?
Можно мидлваре написать что бы сравнивать актуальную версию свойства И если оно оличается пушить изменение
Да, скорее всего так и буду делать, жалко монга не возвращает поля которые были перезаписаны(
Я настройки профиля писал в массив. С тайм степом и применял последние.
Вы можете использовать change stream: например, в документ добавьте поля last_updated_at и last_updated_by. Обновляйте документ, устанавливая поля last_updated_at и last_updated_by в дату изменения и оператора который их внёс, после чего в change stream попадут только изменившиеся поля, плюс _id изменённого документа, которые вы можете дальше сохранить в коллекцию истории изменений
ченж стрим если я правильно помню, только для реплики, возможно для шард
Single-node replica set тоже подходит
Привет! А не подскажешь, есть ли тесты производительности монги между версиями кроме https://medium.com/@hartator/mongodb-4-2-vs-4-0-3-6-3-4-and-3-2-benchmarks-ee96a09ef231 ?
Не встречал. В среднем все бенчмарки ничего не показывают, так как редко являются отражением какой-то реальной нагрузки. Этот тест сделан совсем плохо, его результаты некорректны. 0) Нет информации об конфигурации тестового стенда, в частности настроек сервера и клиента монги. 1) Нет «прогрева», ни руби, ни монги 2) Используется однократный вызов Benchmark.measure, а значит результаты без учёта шума 3) Вызовы в основном измеряют время которое руби и драйвер тратят на сериализацию/де-сереализацию данных из сокета, а не монгу 🙂 Возможно разница на графике связана с разницой в протоколе 4) Тест-кейсы сделаны некорректно и не покрывают ни одного реального кейса Если сильно натянуть сову на глобус, эти цифры показывают априори некорректные цифры для случая когда монга используется как простой key-value сторадж с disk persistency
Обсуждают сегодня