【发布时间】:2013-02-19 21:23:49
【问题描述】:
我在设计方案时犯了一个错误,因此我有两个集合,其中一个的文档包含对另一个的手动引用。我现在意识到我应该创建它,以便父集合包含另一个集合作为子文档。
问题是,我已经把这个方案放到了一个已经创建了数百个条目的生产环境中。我想做的是以某种方式扫描所有现有数据,并将项目复制到其引用的 parent_id 作为子文档。
这是我的架构示例:
集合 1 - 用户
_id
Name
收藏 2 - 照片
_id
url
user_id
有没有一种快速的方法可以将现有文档更改为这样的一个集合:
收藏 - 用户
_id
Name
Photos: [...]
正确设置数据库后,我可以轻松修改代码以使用新代码,但我遇到的问题是弄清楚如何快速/按程序将文档复制到其父级。
更多细节 - 我正在使用 MongoHQ.com 来托管我的 MongoDB。
谢谢。
【问题讨论】:
-
您需要自己在代码中处理任何这样的架构迁移。只需更新您的
User架构,然后遍历您的集合以更新您的集合以反映新架构。
标签: node.js mongodb mongoose mongohq