【问题标题】:How can I copy data from one MongoDB collection to another using jenssegers如何使用 jenssegers 将数据从一个 MongoDB 集合复制到另一个
【发布时间】:2021-03-13 08:38:49
【问题描述】:

我想将特定属性从一个 MongoDB 集合中的所有文档复制到另一个集合。我将 Lumen (v6.0.2) 与 jenssegers/mongodb(3.6.0) 一起使用。是否可以在不遍历文档的情况下做到这一点?

【问题讨论】:

  • 这里的“所有文档”是什么意思?
  • 假设我的源集合有 100 万个文档,每个文档有 20 个属性。我想将所有 100 万个文档(但只有 2 个特定属性)复制到目标集合。循环迭代可能需要一些时间,因为文档的实际数量以数百万计。

标签: laravel mongodb eloquent lumen jenssegers-mongodb


【解决方案1】:

想通了。假设我想将 2 个属性、ID 和 updated_at 从 sourcecollection 复制到 targetcollection

DB::collection('sourcecollection')->raw(function($collection) {
 return $collection->aggregate(array(
 array(
 '$project' => array(
  'ID' => 1,
  'updated_at' => 1
 )),
 array(   
  '$out' => 'targetcollection'
 ),
 )   
 );
}
 );

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-18
    • 2021-09-27
    • 1970-01-01
    • 2015-09-14
    • 1970-01-01
    • 2016-08-24
    • 2017-02-08
    • 1970-01-01
    相关资源
    最近更新 更多