在MongoDB中抓取url,并使用抓取的文本更新logging

我有一个序列化的维基百科文章编辑集合,我正在使用node.js进行stream式处理并存储到mongodb中。 他们看起来像这样:

{ "time" : 1338144181565, "page" : "Pavol Országh Hviezdoslav", "url" : "http://es.wikipedia.org/w/index.php?diff=56528327&oldid=56521690", "delta" : -60, "_id" : ObjectId("4fc275b5cd08c22d31000001") } { "time" : 1338144183265, "page" : "Indian Premier League", "url" : "http://en.wikipedia.org/w/index.php?diff=494656175&oldid=494656151", "delta" : -12, "_id" : ObjectId("4fc275b7cd08c22d31000002") } { "time" : 1338144187346, "page" : "Dizz Knee Land", "url" : "http://en.wikipedia.org/w/index.php?diff=494656189&oldid=494656176", "delta" : -84, "_id" : ObjectId("4fc275bbcd08c22d31000003") } 

该URL显示了编辑中的差异,我将用Python脚本刮取编辑后的文本,然后将要更新logging,使用一个新的字段“edit_text”和可能的img src(“image_url”)为每个主图像维基百科的文章(如果有的话)。

这个想法是最终将更新的数据stream出到一个Web应用程序,该应用程序显示页面标题和图像(如果存在的话)的上下文中的编辑文本。

怎样才能做到这一点,保持在同一个集合,或者将结果存储在一个新的集合更好?

我会将抓取的文件的内容存储在另一个集合中,原因如下:

  1. 带有编辑事件的当前collections只能追加,这意味着你永远不会有任何更新。 这使得它存储闪电很快。 刮取的文档集合可能包含数量级较大的文档。
  2. 这两种types的文档是两种截然不同的文档types,因此不属于同一个集合。 它使得索引不必要的复杂,你可能会不得不创build更多的包含大量不相关信息的索引。