1

我有一个维基百科文章编辑的序列化集合,我使用 node.js 流式传输并存储到 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 脚本抓取编辑后的文本,然后希望使用新字段“edit_text”更新记录,并可能使用每个主图像的 img src (“image_url”)维基百科文章(如果有的话)。

想法是最终将更新的数据流式传输到 Web 应用程序,该应用程序在上下文中显示已编辑的文本以及页面标题和图像(如果后者存在)。

通过将所有结果保存在同一个集合中来做到这一点,或者将结果存储在新集合中会更好吗?

4

1 回答 1

1

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

  1. 带有编辑事件的当前集合是仅追加的,这意味着您永远不会有任何更新。这使得它的存储速度快如闪电。抓取的文档集合可能包含更大数量级的文档。
  2. 这两种类型的文档是两种截然不同的文档类型,因此并不真正属于同一个集合。它使索引变得不必要的复杂,并且您可能不得不创建更多包含大量不相关信息的索引。
于 2012-05-28T07:46:31.807 回答