使用Javascript / Node.js在代码内执行mongoimport

时间:2013-03-15 16:00:53

标签: javascript json node.js mongodb mongoimport

node.js / javascript中是否有可供个人在代码中使用mongoimport的库?

根据我的理解,mongoimport有点像.exe,你必须先执行它才能使用它的文本输入环境。

是否可以在我的代码中执行mongoimport,然后在我的代码中直接解析我需要的任何命令?

我目前的算法涉及:

fs.appendFile('log.txt',JSON.stringify(obj, null, 2));

obj是一个对象,它使用node.js的JSON.stringify方法(请求HTTP响应)指定要解析为res的函数

var obj = {};
obj.url = hostNames[i];
obj.statusCode = res.statusCode;
obj.headers = res.headers;

然后我使用mongoimport将这个JSON文档导入我的MongoDB。

mongoimport --host localhost -db scrapeapp -collection scrape --file log.txt --jsonArray

这种方法显然效率低下。我想一次性完成所有这些步骤。

帮助表示赞赏

2 个答案:

答案 0 :(得分:1)

这是我在代码中的方式

let exec = require('child_process').exec
let command = 'mongoimport -d database -c collection --file import.json'
exec(command, (err, stdout, stderr) => {
  // check for errors or if it was succesfuly
  cb()
})

我执行了mongoimport命令,然后我将cb传递给可访问的代码,或者如果你不使用异步样式,你可以与child_process.execSync(command[,options])

同步执行

答案 1 :(得分:0)

我绝不是节点专家 - 但是如果你有现有的JSON文件,你可以在Node中执行mongoimport作为shell命令,如here所描述的那样,或者在各种answers中执行。