更新mongodb文档而不更新嵌入文档,反之亦然

时间:2010-07-09 12:06:20

标签: ruby-on-rails ruby callback mongodb mongomapper

我有一个包含嵌入式文档的文档。

我有2个表单,1个用于更新文档中的字段,1个用于更新emdedded docs中的字段。

它们分为两种形式,每种形式都有很多字段,实际上这只是我应用程序结构的一个简单示例。

我引用这些数据的其他地方最有意义的是存储在一个文档中而不是拆分它们。

问题是,当我使用update_attributes保存1时,只是表单1中的字段被保存,然后当我转到表单2时,只保存2中的字段,我丢失了保存在表单1中的数据。

有没有办法跳过使用回调保存emdedded docuemnt,所以我可以说例如来自表单1?不要更新嵌入式文档。如果来自表单2,只需保存嵌入式文档?

希望这是有道理的。

任何一个帮助或建议? 谢谢 瑞克

1 个答案:

答案 0 :(得分:0)

不确定它是如何在MongoMapper中公开的,但是您正在寻找的MongoDB操作是一个更新,只需设置$ set即可设置所需的字段。因此,如果你下载到ruby驱动程序,那么设置你关心的字段应该很容易。