2014-10-06 66 views
0

mongo find(),返回集合中的所有文档。我想将我在我的mongodb中的每个文档存储到另一个数据库中。所以,我想继续对单个新文档进行轮询mongodb,因为find().limit(1)会一次又一次地让我重复。我只是希望m​​ongo能够一个一个地返回所有的文档。可能吗?如何才能做到这一点?如何从mongodb流式传输数据?

编辑: 我只想复制我的mongodb实例中的每个条目到另一个数据库,而不仅仅是最新的。

+0

为了确保我正确地理解你:你想一些方法来监控实时您的MongoDB数据库和新复制的每个插入文件到不同的数据库? – Philipp 2014-10-06 07:31:48

+0

不,我只想将我的mongodb实例中的每个条目复制到另一个数据库,而不仅仅是最新的数据库。 – extraDarker 2014-10-06 08:28:27

+1

您可以对初始副本使用[db.copyDatabase](http://docs.mongodb.org/manual/reference/method/db.copyDatabase/)命令。 – Philipp 2014-10-06 08:47:48

回答

1
  1. 使用排序,默认情况下它是一个自然排序,即:

    find()方法排序({_ ID:-1})。限制(1)

你会需要存储当前文档的_id,并将它与下一个用相同的查询进行匹配的文档进行匹配,如果它们不同,则存储该文档以及新的_id。

  • 更好地利用tailable光标: http://docs.mongodb.org/manual/tutorial/create-tailable-cursor/