MongoDB - 将数据传输到另一个集合

时间:2012-07-25 07:10:17

标签: php mysql mongodb mongoid database

我需要知道如何将数据或记录从一个集合传输到MongoDB中的另一个集合,同时我们是否可以在将数据从一个集合转移到另一个集合时使用“find()”条件。

如果知道,请分享我们参考资料的详细信息。

注意:

如果使用来自Large collection的PHP(此集合中包含的行数)获取记录,则会出现以下错误。

错误:“sort()的数据太多,没有索引错误”

这就是为什么我们使用mongodb控制台讨论并将数据从一个集合传输到另一个集合。

  • 库马兰

2 个答案:

答案 0 :(得分:4)

首先,如果可能,我建议您在运行find()查询的任何内容上创建索引,可以使用ensureIndex() ...

执行此操作

至于如何从控制台传输文档:

> use source_database;
> var docs = db.source_collection.find({ something: 'foo' }); 
> use new_database;
> docs.forEach(function(doc) { db.new_collection.insert(doc) });

有关详细信息,请查看此blog post,其中详细说明了该过程。

答案 1 :(得分:2)

您可以直接在Mongo中执行此操作:

db.source.find(some_conditions).forEach(function(doc){db.dest.save(doc)})