Обновление документа mongodb без обновления встроенного документа и наоборот - PullRequest
1 голос
/ 09 июля 2010

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

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

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

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

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

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

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

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

1 Ответ

0 голосов
/ 09 июля 2010

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

...