2013-09-05 51 views
0

我想用一个用户帐号填充一个集合,里面充满了虚拟数据。现在我不希望调用1密尔插入将是聪明的,所以我需要如何做到数据库端。如何在没有一百万张插页的情况下填充数百万个虚拟文档?

我有点想起了什么有关数据库做的JavaScript,或许这将是这样,但更具体?

+0

您可以将它们分成16meg批次并使用批量插入,我认为在node.js中,您可以将多个文档发送到insert() – Sammaye

+0

您是指使用文档,一个1 mil大小的数组构建一个数组,并执行一个插入?我很害怕,但很好奇。我将在下班后尝试:D我认为文档大小最大为16 meg,而不是批量插入,对不对? – Discipol

+1

到数据库的所有通信是BSON文档的形式,你送下来〔实施例查询文件是一个BSON文件,即进入batchInsert是代表BSON文件 – Sammaye

回答

1

虽然你可以只写代码,使用您喜欢的编程语言(如许多司机的报价技术通过阵列结构插入批量文档)插入文件,我建议你考虑建立或者是JSON文件或包含文档结构的CSV文件(如果导入需要,可能需要多个文件),然后使用mongoimport导入所有数据。

http://docs.mongodb.org/manual/reference/program/mongoimport/

这种方式,你可以创建文件(S)一次,而无需安装额外的软件/平台/节点/等直接从数据库服务器运行导入。

如果你想使用Node.JS,你可以使用insertdocumentation),只需传入一个文件数组。我建议批量大小远远低于一百万,而且由于反正会写很多,所以一次只做一个批次(不要依赖JavaScript的异步行为来获得很多连接)。

+0

再次感谢WiredPrairie。如果只有我可以为你消费的话,你也是如此:萨姆麦耶。 – Discipol