0
Node開始。 放在一起的自定義模塊,它解析一個Excel文件到MongoDB的:如何正確執行自定義節點模塊作爲函數
exports.excelFileParser = function(fileName){
if(typeof require !== 'undefined') XLSX = require('xlsx');
var mongodb = require('mongodb');
var MongoClient = mongodb.MongoClient;
var url = 'mongodb://127.0.0.1:27017/my_database';
var workbook = XLSX.readFile('./uploads/' + fileName);
var worksheet = workbook.Sheets[workbook.SheetNames[0]];
var json_conversion = XLSX.utils.sheet_to_json(worksheet);
MongoClient.connect(url, function (err, db) {
if (err) {
console.log('Unable to connect to the mongoDB server. Error:', err);
} else {
console.log('Connection established to', url);
db.open(function(err, client){
client.createCollection("test_collection", function(err, col) {
client.collection("test_collection", function(err, col) {
{
json_conversion.forEach(function(record) {
col.insert(record, function(err, result) {
if(err) {
console.log(err);
}
else {
}
});
})
}
});
});
});
console.log("finished");
db.close();
}
});
};
在我server.js我需要這個模塊如下:
var excelFileParser = require("excel-file-parser");
在我節點應用程序的某個點,我需要執行這個模塊的功能,並傳遞一個文件名來解析。 當我嘗試這樣說:
excelFileParser(file.fieldname);
我得到
TypeError: object is not a function
例外。
從server.js中運行我的模塊的正確方法是什麼?