#json #node.js #mongodb
#json #node.js #mongodb
Вопрос:
Я хочу сохранить один, большой и сложный объект JSON в mongodb, и я хочу иметь возможность извлекать и изменять определенные его части. Простым решением было бы сохранить его в одном документе, но я не уверен, как это будет работать с несколькими запросами на запись. Другим вариантом было бы сохранить каждый узел JSON в разных документах, что-то вроде шаблона, описанного здесь в документации mongodb . Таким образом, я могу извлекать только части всего объекта и работать с ними таким образом.
Мой вопрос: получаю ли я что-нибудь от последнего подхода? Я вроде как новичок в mongodb, но, как я прочитал, у него есть блокировка базы данных при нескольких запросах на запись, поэтому может показаться, что разбор моего JSON таким образом ничего не даст, когда дело доходит до масштабирования.
Комментарии:
1. Так много зависит от деталей — насколько велик большой? количество полей, количество вложенных документов, общий размер в байтах и т.д. Сколько всего документов? Как часто вы вставляете? Обновление? Запрос?
2. Немного предыстории: мы начали с создания REST API, который сохраняет в объект JavaScript, с автоматическим сопоставлением между конечными точками и узлами объекта. Этот объект теперь хранится в памяти как переменная JavaScript, периодически сохраняемая в файл, но мы хотим иметь какой-то другой тип сохраняемости. так как эти параметры в значительной степени не определены, мы хотим переключиться на сохранение данных в mongo db, поскольку предыдущий метод не масштабируется.
Ответ №1:
Если вы планируете хранить данные размером более 16 МБ, вам обязательно следует использовать какое-то хеширование, поскольку mongodb имеет ограничение на размер документов в 16 МБ.
Из ограничений и пороговых значений MongoDB
Максимальный размер документа BSON составляет 16 мегабайт.