在MongoDb中加载延迟

rm2*_*m21 2 lazy-loading mongodb

什么是延迟加载MongoDb?如果我们想要创建一个数据库,它就像:

m.getDB(<dbName>).getCollectionNames() 
Run Code Online (Sandbox Code Playgroud)

由于只是延迟加载.谁能解释一下?

小智 6

延迟加载不是数据库本身的功能.所有这一切意味着当客户端通过驱动程序(或ORM)发出查询时,ORM可以选择在进行查询时不加载整个对象图.它可以选择仅在实际使用/访问结果对象时才对数据库进行查询.

这又是独立于可以使用的数据库,并且通常内置在ORM本身中.这是出于优化/性能原因而完成的,如果不总是访问对象图的一部分,那么如果我们在实际访问它时在几个实例中延迟加载它就没问题.现在这意味着将会有一个查询,ORM会在访问时触发加载该数据,然后将调用返回给客户端代码.

应用程序开发人员通常会指定应该热切地加载对象图的哪些属性/部分以及应该懒得加载哪些属性/部分.

现在请记住,一些nosql选项可能具有使我们能够执行此操作的ORM功能,但最常见的情况是,您将看到这是在RDBMS世界中,并且完全成熟的ORM非常常见.

您可以查找hibernate的延迟加载/延迟提取功能,以便更好地理解概念.