簡體   English   中英

MongoDB Scala驅動程序與Javascript對象對應

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM