mongodb在同一数据库中复制一个集合

mongodb在同一数据库中复制一个集合,mongodb,Mongodb,我想使用mongodb JSON接口(非命令行接口)将现有集合(包括数据和索引)克隆到samedatabase中具有另一个名称的新集合 我试过: {"aggregate":"orig_coll", "pipeline":[{"$out":"orig_clone"}]} -没用。用于跨数据库克隆 使用运算符—只复制数据而不复制索引 我尝试过的聚合命令: {"aggregate":"orig_coll", "pipeline":[{"$out":"orig_clone"}]} 在一个JSON

我想使用mongodb JSON接口(命令行接口)将现有集合(包括数据和索引)克隆到samedatabase中具有另一个名称的新集合

我试过:

{"aggregate":"orig_coll", "pipeline":[{"$out":"orig_clone"}]}
  • -没用。用于跨数据库克隆

  • 使用运算符—只复制数据而不复制索引

我尝试过的聚合命令:

{"aggregate":"orig_coll", "pipeline":[{"$out":"orig_clone"}]}

在一个JSON查询中无法做到这一点

因此,这里有两种解决方案:

  • 使用mongodump/mongorestore作为RustyX的建议
  • 使用两个查询:一个是使用已有的索引和聚合查询创建目标表。我知道这不是一个完美的解决方案,因为您需要维护查询来创建目标表上的索引和源表上的索引,但是没有其他方法可以做到这一点

  • 您需要了解的是,您所说的JSON接口不是数据库接口,而是数据库JavaScript查询语言。所以您可以将查询传递给它而不是命令。事实上,它不是一个接口,只是一个查询DSL。接口是mongo shell或任何mongo驱动程序(java、perl,…)或任何mongo管理工具…

    看起来这就是您想要的:是的,但我特别需要一个JSON命令,而且我还需要复制索引。我无法将建议的解决方案用于
    mongoexport
    /
    mongoimport