Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 是否可以迭代mongo游标两次?_Mongodb - Fatal编程技术网

Mongodb 是否可以迭代mongo游标两次?

Mongodb 是否可以迭代mongo游标两次?,mongodb,Mongodb,换句话说,有没有办法把它倒回开头 编辑 我使用的是mongo shell和pymongo。具有倒带功能方法,它完全满足您的要求 还有cursor.rewind()方法 还有cursor.rewind()方法 但是,java和C++ API都没有倒带方法。可以从pymongo has.revind()方法中的.p>光标找到所有内容,您可以参考 但是,本机mongo shell api不提供这种方法,请参阅: 您可以使用cursor.reset() 对于PHP:$cursor->reset() 然后

换句话说,有没有办法把它倒回开头

编辑

我使用的是mongo shell和pymongo。

具有
倒带功能方法,它完全满足您的要求

还有
cursor.rewind()
方法

还有
cursor.rewind()
方法


但是,java和C++ API都没有倒带方法。可以从pymongo has

.revind()
方法中的.p>光标找到所有内容,您可以参考

但是,本机mongo shell api不提供这种方法,请参阅:


您可以使用
cursor.reset()

对于PHP:
$cursor->reset()


然后在重置后的任何时间运行您的
foreach($cursorData as$data)

很高兴知道,但我不使用Ruby。我不知道这两个API中的任何一个,但我想知道它们是否都只是驱动程序技巧-这是MongoDB nativelyAs根据文档支持的吗?数据库本机不支持这一点,将向服务器发送一个新查询。
> db.collection.find().help()
find() modifiers
        .sort( {...} )
        .limit( n )
        .skip( n )
        .count() - total # of objects matching query, ignores skip,limit
        .size() - total # of objects cursor would return, honors skip,limit
        .explain([verbose])
        .hint(...)
        .showDiskLoc() - adds a $diskLoc field to each returned object

Cursor methods
        .forEach( func )
        .map( func )
        .hasNext()
        .next()