MongoDB:为什么我们应该在使用光标后关闭它?

Pra*_*tel 6 database memory-leaks cursor mongodb mongodb-query

我看到人们在使用光标后关闭光标.我还在文档中读到服务器在10分钟不活动后关闭光标.

我在网上搜索但没找到合适的答案.我是数据库和MongoDB的新手.

为什么需要关闭光标?

Nei*_*unn 18

只有当你没有"耗尽"结果时,才真正需要关闭光标.或者换句话说,迭代光标返回的所有可能结果.

让"光标"保持打开就像留下一个永远不会被重复使用的开放式连接.这些东西不是免费的.实际上标准连接成本是1MB(大约).因此,如果你要留下很多"部分迭代"的游标,那么在活动连接和内存使用方面会有一般的开销.

如果实际上你实际上总是迭代"全部"结果(并且包括"限制",这是一个"光标修改器"),那么光标将关闭,一切正常.

一般用法是通过遍历所有结果实际耗尽/耗尽光标.因此没有明确需要销毁.