gpt4 book ai didi

mongodb - Scala MongoDB,覆盖编解码器以写入/读取 Array[Byte]

转载 作者:可可西里 更新时间:2023-11-01 10:01:42 24 4
gpt4 key购买 nike

我正在使用 http://mongodb.github.io/mongo-scala-driver/

我正在为一个 CC 定义编解码器。

 lazy val userInfoCodec: Codec[UserInfo] = new Codec[UserInfo] {

override def encode(writer: BsonWriter, value: UserInfo, encoderContext: EncoderContext): Unit = ???
override def decode(reader: BsonReader, decoderContext: DecoderContext): UserInfo = ???
}

我在里面进行加密,所以字段不是字符串而是数组[字节]。你知道如何使用 BsonWriter 在那里写入字节数组吗?我看到一些类似 writeStartArray 的东西,但我不知道如何使用它。

感谢您的帮助!

最佳答案

case class UserInfo(ab: Array[Byte])

val userInfoCodec: Codec[UserInfo] = new Codec[UserInfo] {
override def getEncoderClass: Class[UserInfo] = classOf[UserInfo]

override def encode(writer: BsonWriter, value: UserInfo, encoderContext: EncoderContext): Unit = {
val bsonBinary = new BsonBinary(value.ab)
writer.writeBinaryData(bsonBinary)
}



override def decode(reader: BsonReader, decoderContext: DecoderContext): UserInfo = {
val bsonBinary = reader.readBinaryData()
UserInfo(bsonBinary.getData)
}
}

关于mongodb - Scala MongoDB,覆盖编解码器以写入/读取 Array[Byte],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54202852/

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