2

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

如果知道,请分享详细信息以供我们参考。

笔记:

如果使用 PHP 从大型集合(此集合中的行数)获取记录,我们将得到以下错误。

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

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

  • 库马兰
4

2 回答 2

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) });

有关更多信息,请查看此博客文章,其中更详细地解释了该过程。

于 2012-07-25T08:09:34.357 回答
2

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

db.source.find(some_conditions).forEach(function(doc){db.dest.save(doc)})
于 2012-07-25T07:53:08.100 回答