0

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

有很多方法可以实现:

  1. 在我的应用程序层中拉入数据,将其调整为正确的格式,然后将其转储到 Mongo 中(这似乎非常低效)。
  2. 直接将数据转储到 Mongo 中的临时集合中,然后遍历每个文档,执行字段映射,最后将其存储在正确的集合中(这似乎是一种更好的方法,但仍然很尴尬)。
  3. 与选项 2 相同,但使用 map(或类似)函数来执行字段映射(这似乎是一个不错的选择,但我发现的唯一内容与 map-reduce 有关,我似乎不是此任务的正确方法)。
  4. 实现一个数据映射器模式,但我也找不到任何资源(这将是我的首选解决方案,将应用程序与持久层完全分离)。

你有什么建议?

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

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

4

0 回答 0