gpt4 book ai didi

java - MongoDB Java API 中 Lazy* 类的用途

转载 作者:行者123 更新时间:2023-12-02 07:18:14 25 4
gpt4 key购买 nike

MongoDB Java driver documentation of the packet org.bson提到其他类的各种“Lazy”版本。不幸的是,这些类的 Javadoc 几乎不能称为文档。

它们的目的是什么以及它们的行为与正常版本有何不同?

最佳答案

在正常操作下,驱动程序使用类似于 DBObject Map 的接口(interface)创建和使用文档。插入文档时,它会迭代映射以将其转换为相应的 BSON 表示形式。查询时,它通过将键值对放入映射中来创建新文档。

但有时您希望使用原始 BSON,而不需要支付所有这些序列化和反序列化的成本。这就是惰性 DBObject 实现的用途。自定义编码器不会将它们视为映射,而是将字节直接写入 BSON 流。同样,自定义解码器将原始字节直接写入惰性 DBObject。

在这种情况下,术语惰性的含义是,由于惰性等效项仍然必须实现 DBObject 接口(interface),因此它们通过“惰性”解释它们包含的原始 BSON 字节数组来实现。

最后一点:惰性 DBObject 类很可能不会包含在即将发布的 3.0 版驱动程序中,因为整个序列化正在以与惰性 DBObject 不兼容的方式发生变化。将会有等效的功能,但 API 不兼容。

关于java - MongoDB Java API 中 Lazy* 类的用途,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14643985/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com