function querydb(){
cursor = dbConnection.collection("logs").find(queryObj).limit(valueList[1]);
/*Either decide here to foreach for file or for console OR...*/
cursor.forEach(function(item){
/*Decide here whether to write to file or console*/
if(valueList[0] != null){
fs.writeFile(valueList[0], item, 'utf-8', console.log("finished!!"));
}
if(valueList[0] == null){
console.log(item);
console.log("Done");
}
/*CHECK TO SEE IF THE CURSOR IS EXHAUSTED*/
if(cursor == null){
//now we can close the database
dbConnection.close();
}
}
);
};
这是我的querydb功能。正如您所看到的,我检查该值是否不等于null,如果它是真的,我调用writeFile。但是在.txt中它只打印"对象对象"。关于什么事情的任何想法?
答案 0 :(得分:3)
writeFile签名是:
fs.writeFile(file, data[, options], callback)
所以,你写的数据必须是一个对象。这就是为什么Object Object
被写入文件的原因。尝试反序列化"项目"参数如:
fs.writeFile(valueList[0], JSON.stringify(item), 'utf-8', console.log("finished!!"));