Maps/Collections 在 MongoDB Java 驱动程序中

Maps/Collections in MongoDB Java driver

在 C# mongodb 驱动程序中,字典有 3 种可能的表示形式: 文档、ArrayOfArrays、ArrayOfDocuments。 https://mongodb.github.io/mongo-csharp-driver/2.8/reference/bson/mapping/#dictionary-serialization-options

据我了解,Java 驱动程序支持(仅或默认)"Document" 表示。

是否有约定或其他内置方式来配置驱动程序以使用 ArrayOfArrays? 我无法在 MongoDB Java 驱动程序文档中看到任何相关内容。

根据 Java 驱动程序团队的说法,答案是虽然没有简单的标志:

  1. 您可以使用自定义编解码器处理映射到所有映射的嵌套键值数组的转换。

  2. 或者,您可以创建自定义注释,用于为 POJO 中的单个 Class 字段设置编解码器。这样您就不必担心编解码器注册表对所有地图的处理方式相同。

如果你想以相同的方式存储所有地图,第一个选项显然更容易。可以参考driver code查看内置注解是如何构建的