Php 如何将数组值从一个集合移动到另一个集合?

Php 如何将数组值从一个集合移动到另一个集合?,php,arrays,mongodb,collections,Php,Arrays,Mongodb,Collections,我在一个集合中有一个数组值。我想将数组值从一个集合移动到另一个集合 fruits : [ { "apple","banana" } ] 如何将此数组值从一个集合移动到另一个集合 我想这样做,从一个集合中获取值,将其存储在一个临时变量中,然后更新另一个集合以添加此临时变量。但我知道这不是简单的方法 所以,我想知道有什么简单的方法可以做到这一点 希望我的问题清楚。任何帮助都将不胜感激 我想这样做,从一个集合中获取值,将其存储在一个临时变量中,然后更新另一

我在一个集合中有一个数组值。我想将数组值从一个集合移动到另一个集合

fruits : [ 
           { "apple","banana" } 
         ]
如何将此数组值从一个集合移动到另一个集合

我想这样做,从一个集合中获取值,将其存储在一个临时变量中,然后更新另一个集合以添加此临时变量。但我知道这不是简单的方法

所以,我想知道有什么简单的方法可以做到这一点

希望我的问题清楚。任何帮助都将不胜感激

我想这样做,从一个集合中获取值,将其存储在一个临时变量中,然后更新另一个集合以添加此临时变量。但我知道这不是简单的方法

正如@sergio指出的那样。这很可能是最简单的方法

MongoDB没有允许您在一个更新调用中完成这一切的跨集合更新(与SQL中的情况不同)

当然,尽管如此,MongoDB并不是不可能做到这一点,只是到目前为止它还没有实现

当然,建议不要经常这样做,否则您可能会在性能方面遇到严重问题,特别是当这些文档需要从当前的记录分配转移到新的记录分配时(由于大小不同)

考虑到您希望推送到另一个集合的内容是一个子文档,我也不建议使用聚合框架来创建数据的“显示”,这些数据可以轻松保存到备用集合。这是因为数据已经预成型,使用聚合框架只会使事情复杂化

相反,我只是迭代源文档,获取值,然后将它们推送到目标集合中的文档

fruits : [ 
           { "apple","banana" } 
         ]

如果这些文档是新的,并且您希望进行某种类型的聚合,那么您也可以使用Map Reduce。我应该提醒您,MR的设计目的并不是在文档之间移动值,而是制定聚合文档并将其保存到集合中。

这可能是最简单的方法。谢谢。无论如何,我已经用上面提到的方法实现了它。
fruits : [ 
           { "apple","banana" } 
         ]