在存储过程中读取文本文件

时间:2014-08-05 18:23:52

标签: javascript mongodb stored-procedures

我想使用存储过程来更新mongoDB中的表。数据在CSV文件中,我想通过拆分访问它。我已经在JavaScript中完成了这么多次而没有任何问题。我的开始是:

var fso = new ActiveXObject("Scripting.FileSystemObject");
var ForReading = 1;
var daFile = fso.OpenTextFile("C:\\MyFolder\\myfile.dat",ForReading);
while (!daFile.AtEndOfStream)
{ 
    daLine = daFile.readLine();
    // do the stuff
} 

但该命令在ActiveXObject上窒息。我猜mongo不知道ActiveXObjects所以我可以用什么来读取文件中的行?

1 个答案:

答案 0 :(得分:0)

ActiveXObject对象是Microsoft扩展,仅在Internet Explorer或调用Internet Explorer JavaScript引擎的应用程序中受支持。

mongo shell和MongoDB服务器使用的JavaScript引擎(如MongoDB 2.6)是开源V8 engine

MongoDB没有相应的"存储过程"可以加载和处理服务器上的文本文件。您应该从客户端驱动程序或应用程序执行导入操作。

如果您要导入一个简单的CSV文件,可以使用mongoimport这一简单的方法,安装MongoDB shell和工具时会包含该文件。

假设您的CSV的第一行包含列标题,命令行将类似于:

mongoimport --db my_db --collection mycoll --type csv --headerline < myfile.dat