我在项目中使用MongoDB,目前我正在学习如何工作
我创建了一个包含500万条记录的集合。当我在控制台上触发查询db.ProductDetails.find()
时,显示所有数据需要太多时间。
当我在C#中使用以下代码时
var Products = db.GetCollection("ProductDetails").FindAll().Documents.ToList();
系统会在一段时间后抛出OutOfMemoryException
..
还有其他更快或更优化的方法来实现这一目标吗?
答案 0 :(得分:3)
永远不要尝试同时获取所有条目。使用过滤器或一次获取几行。
阅读此问题:MongoDB - paging
答案 1 :(得分:0)
尝试获取所需的子集。如果你试图获取所有对象,那么肯定你需要足够的RAM作为数据库集合的大小! 尝试获取将在应用程序中使用的对象。