0

我的 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 发送到其他位置的 output.txt 文件。因为我需要通过电子邮件发送此文件以进行进一步处理。可能吗 ?谢谢..

4

1 回答 1

0

您可以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');
});

(代码中可能有很多错误,我只是写了没有编辑器/测试的文本。)

于 2013-11-13T22:54:32.267 回答