【问题标题】:MongoDB - Transfer Data one Collection to Another CollectionMongoDB - 将数据从一个集合传输到另一个集合
【发布时间】:2012-07-25 07:10:17
【问题描述】:
我需要知道如何在 MongoDB 中将数据或记录从一个集合传输到另一个集合,同时我们是否可以在将数据从一个集合传输到另一个集合时使用“find()”条件。
如果知道,请分享详细信息以供我们参考。
注意:
如果使用 PHP 从大型集合(此集合中的行数)获取记录,我们会遇到以下错误。
错误:“sort() 数据过多,没有索引错误”
这就是我们讨论并使用 mongodb 控制台将数据从一个集合传输到另一个集合的原因。
【问题讨论】:
标签:
php
mysql
mongodb
mongoid
database
【解决方案1】:
首先,如果可能的话,我建议在您运行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,其中更详细地解释了该过程。
【解决方案2】:
你可以直接在Mongo中做:
db.source.find(some_conditions).forEach(function(doc){db.dest.save(doc)})