[英]MongoDB Scala Driver counterpart to Javascript Object
我正在嘗試創建與Javascript Object Map[String, Any]
對應的文檔。 當我嘗試插入新文檔時,將出現以下異常:
org.bson.codecs.configuration.CodecConfigurationException:找不到類java.lang.Object的編解碼器。
這是我的測試文檔說明:
import org.mongodb.scala.bson.ObjectId
object ExampleCollection {
def apply(test: Map[String, Any]): ExampleCollection = new ExampleCollection(new ObjectId(), test)
}
case class ExampleCollection(_id: ObjectId, test: Map[String, Any])
這是編解碼器注冊表:
val codecRegistry = fromRegistries(fromProviders(classOf[ExampleCollection]), DEFAULT_CODEC_REGISTRY)
我編寫了一個小應用程序,並將其推到github上 。
現在,我的解決方法是序列化Map[String, Any]
並將其另存為String。
因此,我的問題是,在mongodb中將Map[String, Any]
用作動態對象的類型該怎么辦? 還是我可以做些其他的事情來使其正常工作?
一旦它不知道它是什么以及如何對其進行序列化/反序列化,您就不能僅將它傳遞給mongo。 如果是json,則可以嘗試將其轉換為BSONDocument
而不是格式未知的Map
。
例如,請參閱此處轉換play-json的案例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.