scala - 通用 JsArray 的 BSONSerializer
问题描述
我需要为我的案例类过滤器制作一个 BSONSerializer,看起来如下所示。
case class Filter(name: String,
`type`: LogicType,
value: JsArray,
operator: OperatorType)
在我的序列化程序类中,我已经有以下人员:
implicit val LogicTypeHandler: BSONHandler[LogicType] = EnumHandler.handler(LogicType)
implicit val OperatorTypeHandler: BSONHandler[OperatorType] = EnumHandler.handler(OperatorType)
>>> Missing BSON serializer for JsArray
implicit val FilterHandler: BSONDocumentHandler[Filter] = Macros.handler[Filter]
问题是我需要将“值”保存为 JsArray 并且只有在以后的运行时使用时我才会知道它到底是什么。就我而言,我希望它是字符串或整数数组。这里的问题是如何为这个 JsArray 实现 BSONSerializer。我收到错误:
Implicit not found for 'Filter.value': reactivemongo.api.bson.BSONReader[play.api.libs.json.JsArray]
附加信息:
"org.reactivemongo" %% "play2-reactivemongo" % "1.0.0-play28"
"com.typesafe.play" % "sbt-plugin" % "2.8.5"
请指教。
解决方案
推荐阅读
- ibm-cloud-infrastructure - 取消订阅“计划内维护”电子邮件通知
- python - 如何使用 Python 和 MS Graph 获取 Planner 计划和任务
- c++ - 查找每个 ConnectedComponent 区域的邻域
- vue.js - 根据用户操作访问 Vuex 状态
- asp.net - 来自外部程序集的自定义表单控件
- python - 如何在本地模式下运行的 pyspark 中读取 S3?
- javascript - 在angular js中以表格格式显示表格数据
- python - Python 值计数并返回 pandas 中的其他列
- php - Laravel 电子邮件数据发布问题
- python - 实现一个“卡片”类