私が使用しているスクリプトはこちらです: https://gist.github.com/2759751
後でアクセスできるように、node.js アプリから mongodb コレクションにストリーミングされ、解析されたメッセージを保存するようにコードを変更したいと考えています。これまでのところ、私はチュートリアルコードで作業しており、db.open() を使用する場合、db.open() メカニズムを正しく取得することについて混乱しています。これはストリームであるため、複数回開くことができないと不平を言っています。削除すると、開いている接続が見つからないと表示されます。ストリームを保存できるように接続を 1 回開くにはどうすればよいですか?
私はmongoをインスタンス化します:
mongo = require('mongodb'),
db = new mongo.Db('wikis', new mongo.Server('localhost', 27017, {}), {});
ストリームは次のようなオブジェクトを追い出します:
return {
flag: flag,
page: page,
pageUrl: pageUrl,
url: m[3],
delta: delta,
comment: m[6],
wikipedia: wikipedia,
wikipediaUrl: wikipediaUrl,
wikipediaShort: config.wikipedias[msg[0]].short,
wikipediaLong: config.wikipedias[msg[0]].long,
user: user,
userUrl: userUrl,
unpatrolled: isUnpatrolled,
anonymous: anonymous,
robot: isRobot,
namespace: namespace,
minor: isMinor
}
そして、ストリームの一部を次のように保存したいと思います。
function saveRecs(msg){
//db.open(function(){
db.collection('wikiCollection', function(err, collection){
doc = {
"page": msg.page,
"url": msg.url,
"user": msg.user
};
collection.insert(doc, function(){
console.log('Got a record, boss!');
});
});
//});
}