如何将各种外部数据源映射到MongoDB中的统一模型?

时间:2014-04-12 18:31:30

标签: mongodb datamapper data-mapping

我有一组文档,其中包含我的代码所需的一组给定属性。但是,我需要使用来自具有完全不同属性(或字段)的各种数据源的数据来填充此集合。这将需要某种形式的字段映射。

有很多方法可以实现:

  1. 在我的应用程序层中提取数据,按下正确的格式,然后将其转储到Mongo(这看起来非常低效)。
  2. 将数据直接转储到Mongo中的临时集合中,然后遍历每个文档,执行字段映射,最后将其存储在正确的集合中(这似乎是一种更好的方法,但仍然很尴尬)。
  3. 与选项2相同,但使用地图(或类似)功能来执行字段映射(这似乎是一个不错的选择,但我发现的唯一内容与map-reduce相关,我没有出现是这项任务的正确方法。)
  4. 实现数据映射器模式,但我找不到任何资源(这将是我首选的解决方案,将应用程序与持久层完全分开)。
  5. 你会建议什么?

    澄清:我正在使用Laravel(PHP)。步骤1将全部在应用程序层上,而步骤2和3可以使用mongo脚本实现。

    澄清更新:数据通过Curl拉入,然后存储。将数据直接转储到数据库背后的想法是使数据拉得更快而不会使服务器陷入困境(方案1)。选项2和3会将映射卸载到数据库层,这应该更加高效,因为每个映射文档不应该有网络流量。我认为它真的归结为如果选项4存在,如果不存在,我可以回退选项1到3,或者它的智能组合(可能在数据库层上映射,因为文档是从应用程序层存储的)。 p>

0 个答案:

没有答案