当前位置: 首页 > 知识库问答 >
问题:

case类的Scala mongo驱动程序自定义编解码器

费承载
2023-03-14

scala-mongo-driver有一个处理case类的很好的文档。http://mongodb.github.io/mongo-scala-driver/2.3/getting-start/quick-tour-case-classs/。在当前情况下,我的case类字段是option[T]值。因此值可以是nonesome(T)。默认编解码器现在将“none”值序列化为null。但如果键的值为none,我想排除它。我怎样才能获得这个行为呢?根据我的研究,我认为我们需要为case类编写一个自定义的编解码器或编解码器提供程序,而不是默认的case类编解码器。

共有1个答案

朱博实
2023-03-14

自V2.1.0以来,有一个新的宏帮助程序:macros.createcodecproviderIndoleNone,您可以在其中定义将忽略none值,使其无法保存到DB。

  • BSON宏的说明
  • Scaladoc
 类似资料:
  • 我试图弄清楚,在使用Tableau连接器SDK创建自定义JDBC连接器时,如何让Tableau识别我的JDBC驱动程序。当前,当Tableau加载我的自定义连接器时,我可以告诉驱动程序找不到,因为连接器中显示了一个链接,该链接显示: > 在图表日志中,我可以看到。包含我的驱动程序的jar文件通过搜索它们的名称来识别,它们显示在日志中。 日志环境部分摘录: 未识别的驱动程序屏幕截图显示下载驱动程序

  • 这是我第一次使用Mongo Scala驱动程序(2.1版),在处理我的一些case类时,我注意到了一些奇怪的行为--其中一些类在中没有被识别为此类,结果是其中一个类的解码数据走错了路,并以第204行的错误结束,因为列表为空。 下面是StackTrace的前三分之一左右: 我的应用程序模拟某人的谷歌日历。以下是我的案例类: 这里有一个屏幕截图的链接,显示了发生错误点的的内容。 屏幕截图显示了一个包含

  • 本章介绍: Decoder Encoder 单元测试 本章讲述 Netty 中如何轻松实现定制的编解码器,由于 Netty 架构的灵活性,这些编解码器易于重用和测试。为了更容易实现,使用 Memcached 作为协议例子是因为它更方便我们实现。 Memcached 是来自 Memcached.org 的免费开源、高性能、分布式的内存对象缓存系统,其目的是加速动态 Web 应用程序的响应,减轻数据库

  • 为Electron应用编写自动测试, 你需要一种 "驱动" 应用程序的方法。 Spectron 是一种常用的解决方案, 它允许您通过 WebDriver 模拟用户行为。 当然,也可以使用node的内建IPC STDIO来编写自己的自定义驱动。 自定义驱动的优势在于,它往往比Spectron需要更少的开销,并允许你向测试套件公开自定义方法。 我们将用 Node.js 的 child_process

  • 为Electron应用编写自动测试, 你需要一种 "驱动" 应用程序的方法。 Spectron is a commonly-used solution which lets you emulate user actions via WebDriver. 当然,也可以使用node的内建IPC STDIO来编写自己的自定义驱动。 自定义驱动的优势在于,它往往比Spectron需要更少的开销,并允许你向

  • 我正在尝试使用selenium在pycharm中键入我的第一个GUI测试。 我通过cmd raport安装了selenium: C: 然后我用pycharm编写了一些代码: 这就是当我点击开始时发生的事情: 文件“C:/Users/Admin/PycharmProjects/untitled/venv/test.py”,第3行driver=webdriver.Chrome(“C:\Users\Ad