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

その他のオプションについては、 docsをご覧ください。

編集 ああ、私はあなたが使用していることに気づいていませんでした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 に答える