Mongodb 如何在mongo JS中重新定向输出
我的mongo js文件中有如下内容Mongodb 如何在mongo JS中重新定向输出,mongodb,mongojs,Mongodb,Mongojs,我的mongo js文件中有如下内容 db.eval(function(){ db.user.find( { email : {$exists : false}} ).forEach( function(found){ id = found._id; print(id); // this will print to mongo logs print()将打印到mongodb日志,但我想将找到的这些ID发送到其他位置的outpu
db.eval(function(){
db.user.find( { email : {$exists : false}} ).forEach(
function(found){
id = found._id;
print(id); // this will print to mongo logs
print()将打印到mongodb日志,但我想将找到的这些ID发送到其他位置的output.txt文件中。因为我需要通过电子邮件发送此文件以进行进一步处理。可能吗?谢谢。您可以从命令行使用
mongoexport
例如:
mongoexport -d mydatabase \
--fields _id \
--query '{ email: { $exists: false }}' \
-c user \
--csv \
--out myfile_for_further_processing.csv
有关更多选项,请查看
编辑
哦,我没有注意到你使用mongojs
。
这可以通过另一种方式实现:
var fs = require('fs');
db.user.find( { email : {$exists : false}}, function (err, docs) {
if (err) throw err;
var ids = docs.map(function (doc) {
return doc._id.toHexString();
});
// I assume it is not critical when using sync-version
fs.writeFileSync('output.txt', ids.join('\n'), 'utf8');
});
(代码中可能有很多错误,我只是编写了文本w/o editor/test。)不要使用db.eval()使用shell并将其输出重定向到文件。谢谢,我会检查的谢谢,我会试试,让你知道