Обновление документа mongodb без обновления встроенного документа и наоборот

У меня есть документ со встроенным документом.

У меня есть 2 формы, 1, которая обновляет поля в документе, и одна, которая обновляет поля в добавленных документах.

Они разбиты на 2 формы по множеству полей в каждом и т. Д., И на самом деле это просто пример структуры моего приложения.

Везде, где я ссылаюсь на эти данные, имеет смысл хранить их в одном документе, а не разбивать их.

Проблема в том, что когда я сохраняю скажем для 1, используя update_attributes, только поля из формы 1 сохраняются, то когда я перехожу к форме 2, сохраняются только поля из формы 2, и я теряю данные, сохраненные в форме 1.

Есть ли способ пропустить сохранение законченного документа с обратным вызовом, так что я могу сказать, например, если из формы 1? не обновлять встроенный док. А если из формы 2 просто сохранить встроенный документ?

Надеюсь, это имеет смысл.

Любая помощь или совет? Спасибо Рик

1 ответ

Решение

Не уверен, как он представлен в MongoMapper, но операция MongoDB, которую вы ищете, представляет собой обновление с $set, чтобы просто установить нужные поля. Поэтому, если вы перейдете к драйверу ruby, вам будет довольно легко установить только те поля, которые вам нужны.

Другие вопросы по тегам