我需要知道如何将数据或记录从一个集合传输到MongoDB中的另一个集合,同时我们是否可以在将数据从一个集合转移到另一个集合时使用“find()”条件。
如果知道,请分享我们参考资料的详细信息。
注意:
如果使用来自Large collection的PHP(此集合中包含的行数)获取记录,则会出现以下错误。
错误:“sort()的数据太多,没有索引错误”
这就是为什么我们使用mongodb控制台讨论并将数据从一个集合传输到另一个集合。
答案 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)})