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

时间:2016-08-25 14:44:25

标签: mongodb

我想使用mongodb JSON接口将现有的集合(包括数据和索引)克隆到同一数据库其他名称的新集合中(不是命令行界面。)

我试过了:

我试过的聚合命令:

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

1 个答案:

答案 0 :(得分:1)

在一个JSON查询中无法执行此操作。

所以,这里有两个解决方案:

  1. 使用mongodump / mongorestore作为RustyX建议
  2. 使用两个查询:一个用于创建具有索引的目标表和您已有的聚合查询。我知道这不是一个完美的解决方案,因为您需要维护查询以在目标表上创建索引并在源表上创建索引,但没有其他方法可以做到这一点。
  3. 您需要了解的是,您所说的JSON接口不是数据库接口,而是数据库JavaScript查询语言。所以你可以将查询传递给它而不是命令。实际上,它不仅仅是一个查询DSL接口。接口是mongo shell或任何mongo驱动程序(java,perl,...)或任何mongo管理工具......