mongo find()
,返回集合中的所有文档。我想将我在mongodb中的每个文档存储到另一个数据库中。所以,我想继续为单个新文档轮询mongodb,因为find().limit(1)
会一次又一次地让我回复。我只想让mongo一个接一个地返回所有文件。可能吗?怎么办呢?
编辑: 我想将我的mongodb实例中的每个条目复制到另一个db,而不仅仅是最新的。
答案 0 :(得分:1)
使用sort,默认情况下是自然类型,即:。
查找()排序({_识别符:1})。。限制(1)
您需要存储已检索的当前文档的_id,并将其与使用相同查询检索的下一个文档进行匹配,如果它们不同,则存储文档以及新的_id。
答案 1 :(得分:0)
听起来菲利普(Philipp)的评论找到了您想要的答案,但可以回答原始问题:
如果您希望文档很大,我不建议对整个数据库使用排序,而且限制也会导致糟糕的性能。
运行find()操作实际上会向您返回一个游标对象,您可以对其进行迭代,该游标对象可以有效地进行流传输,因此可以精确地满足您的要求。